位置: 编程技术 - 正文

深入理解JavaScript系列(30):设计模式之外观模式详解(深入理解javascript特性)

编辑:rootadmin

推荐整理分享深入理解JavaScript系列(30):设计模式之外观模式详解(深入理解javascript特性),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:深入理解新发展理念,深入理解linux内核第三版,深入理解javascript,深入理解计算机系统,深入理解新发展理念,推进供给侧结构性改革,深入理解javascript特性,深入理解javascript,深入理解javascript特性.pdf,内容如对您有帮助,希望把文章链接给更多的朋友!

介绍

外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。

正文

外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式经常被认为开发者必备,它可以将一些复杂操作封装起来,并创建一个简单的接口用于调用。

外观模式经常被用于JavaScript类库里,通过它封装一些接口用于兼容多浏览器,外观模式可以让我们间接调用子系统,从而避免因直接访问子系统而产生不必要的错误。

外观模式的优势是易于使用,而且本身也比较轻量级。但也有缺点 外观模式被开发者连续使用时会产生一定的性能问题,因为在每次调用时都要检测功能的可用性。

深入理解JavaScript系列(30):设计模式之外观模式详解(深入理解javascript特性)

下面是一段未优化过的代码,我们使用了外观模式通过检测浏览器特性的方式来创建一个跨浏览器的使用方法。再来一个简单的例子,说白了就是用一个接口封装其它的接口:

总结

那么何时使用外观模式呢?一般来说分三个阶段:

首先,在设计初期,应该要有意识地将不同的两个层分离,比如经典的三层结构,在数据访问层和业务逻辑层、业务逻辑层和表示层之间建立外观Facade。

其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,增加外观Facade可以提供一个简单的接口,减少他们之间的依赖。

第三,在维护一个遗留的大型系统时,可能这个系统已经很难维护了,这时候使用外观Facade也是非常合适的,为系系统开发一个外观Facade类,为设计粗糙和高度复杂的遗留代码提供比较清晰的接口,让新系统和Facade对象交互,Facade与遗留代码交互所有的复杂工作。

参考:大话设计模式

深入理解JavaScript系列():设计模式之策略模式详解 介绍策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。正文在理解策略模式之前

深入理解JavaScript系列():设计模式之组合模式详解 介绍组合模式(Composite)将对象组合成树形结构以表示部分-整体的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。常见的场景

深入理解JavaScript系列():设计模式之模板方法详解 介绍模板方法(TemplateMethod)定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该

标签: 深入理解javascript特性

本文链接地址:https://www.jiuchutong.com/biancheng/382861.html 转载请保留说明!

上一篇:深入理解JavaScript系列(25):设计模式之单例模式详解(深入理解中国式现代化)

下一篇:深入理解JavaScript系列(33):设计模式之策略模式详解(深入理解新发展理念)

  • 分公司需要独立法人吗
  • 税务ukey如何清卡
  • 业务招待费税前扣除标准是
  • 种植茶叶企业所得税怎么征收
  • 农产进项税是多少税率
  • 股东投资是所有者权益
  • 大凭证小凭证
  • 没有抵扣的进项发票,开错了对方没有作废
  • 企业所得税纳税调整明细表
  • 房产企业赠送无形资产
  • 废旧物资回收经营范围
  • 纸质发票如何查看电子发票
  • 购买商标权发生损失能税前扣除吗?
  • 个税生产经营申报流程
  • 以公司股权作价入股母公司
  • 公司注销后应收款能打到法人账户吗
  • 劳务所得税税率表最新
  • 事业基金弥补收支差额是什么意思
  • 如何开境外帐户
  • 企业所得税季报怎么申报
  • 个人所得税自行纳税申报
  • 公司参展费取得发票怎样做账?
  • 进项税额转出的会计分录
  • 政府补助企业的钱要交税吗
  • 电子税务局如何查进项发票
  • 公司基本账户冻结怎么办
  • 工业企业增值税负率一般控制在多少
  • 收回已核销的坏账并入账是什么意思
  • 本年利润有余额可以结账吗
  • 电脑装系统分区出现错误
  • wifi信号弱了
  • 现金流量表中收入是含税收入还是不含税
  • 计提本月应交未交增值税
  • 税收返还需要缴纳什么税
  • php屏蔽错误
  • file读取文件内容
  • 劳动仲裁支付的个人款项怎么做账
  • 一般人转小规模政策到什么时候
  • ie8 ie8i
  • 税金及附加如何预测
  • 退税流程怎么操作个人所得税2022
  • 毛利润和纯利润
  • 应交增值税明细账怎么填写样本
  • 招聘招一个人爱我图片
  • 销售折让怎么写分录
  • 一般纳税人销售旧货税率
  • 弥补以前年度亏损报表怎么填
  • 上市公司回购股票多久可出售
  • 企业缴纳印花税时需要
  • 小规模纳税人上限
  • 年度汇算清缴后补税,账务要调整吗
  • 加油站充值套路
  • 加工费如何开增票
  • 买房定金转给销售有效吗
  • 有净残值的固定资产怎么计提折旧
  • 这个营业外支出怎么算
  • 公司购买的打印机附赠给客户进项税可以抵扣吗
  • 购车预付款交了可以退吗
  • 服务咨询类合同
  • 怎样算小公司
  • 企业发生的存货盘盈计入营业外收入吗
  • 域怎么改名
  • 英伟达更新有用吗
  • winxp 移动硬盘
  • winvnc.exe进程是什么
  • xp系统有什么用
  • Metaio in Unity3d 教程--- 一. 搭建环境,运行官方案例
  • opengl坐标系原点
  • linux中xargs用法
  • 菜鸟100例python3
  • js 函数写法
  • jquery创建表单
  • JavaScript冒泡排序都不会写
  • Activity与Theme
  • 2024新车购置税政策
  • 对税务总局党组织的评价
  • 国家税务局扬州 袁霞
  • 什么情况适用简易诉讼程序
  • 北京国家税务局总局官网
  • 浙江国地税联合申报系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设