位置: 编程技术 - 正文

深入理解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):设计模式之策略模式详解(深入理解新发展理念)

  • 企业自建房产缴契税吗
  • 建设工程劳务分包的规定
  • 会议服务费免税吗
  • 上一会计年度什么意思
  • 2019最新运输发票样本
  • 国际贸易公司注册需要什么条件海南
  • 逾期抵扣办理申请书模板
  • 酒店前台冲账发生错误怎么办?
  • 拆装厂房
  • 退货的增值税专用发票
  • 企业所得税弥补亏损明细表怎么填写
  • 充值卡充值发票可以报销吗
  • 固定资产安装完毕达到预定可使用状态
  • 借调员工的工资怎么入账
  • 免税企业减免所得税政策
  • 外管证开了未用怎么办
  • 什么叫含税级距和不含税级距
  • 租赁房使用权和所有权冲突
  • 营增改后,建筑施工企业有哪些改变?
  • 净资产收益率计算公式用期末净资产
  • 特定业务计算的应纳税所得额是指
  • 运费专票当月如何入账
  • 同期比较百分比如何计算
  • 建筑工程总包分包的内容
  • h3c路由配置教程
  • 进项税额转出能进成本吗
  • 商业意外险进项可以抵扣吗
  • 收到美金没有结汇会计分录
  • 非贸付汇税金承担
  • post-secondary program
  • winds10教育版
  • Window7+CentOS 6.5双系统安装图文方法
  • 计提安全费用含税还是不含税
  • 一般纳税人做账报税的整个流程详细
  • 辛华达瀑布,加拿大贾斯珀国家公园 (© Schroptschop/Getty Images)
  • 企业公益性捐赠税前扣除标准
  • 前端 input
  • php构造函数重载
  • js 切面
  • 递延收益会计科目核算什么内容
  • yum命令安装软件
  • 暂估入库成本结转处理低于实际成本怎么办
  • 帝国cms标题生成图片
  • 工程施工会计如何记账
  • 办公费税前扣除标准2023年
  • 资本公积金转增股本是利好吗
  • 小规模纳税人销售自己使用过固定资产
  • 公司购买车
  • 留抵的进项税可以用多少年
  • centos叫什么
  • win8系统怎么设置无线网连接啊
  • win7如何创建文件夹
  • ubuntu网卡命令
  • ubuntu如何清理垃圾
  • win8系统计算机在哪里
  • 免费升win10时升级后一直有效吗
  • 进程mmc.exe
  • win7开机黑屏怎么
  • linux基础常用命令
  • win7 来宾账户
  • win10自带绘画
  • WZor曝光Win10专业版升级教育版的密钥 无法激活
  • win8的开始和运行在哪儿
  • nodejs搭建web服务器
  • android更改应用名称
  • python 爬虫例子
  • unity单选
  • shell脚本获取进程pid
  • bat xcopy copy
  • css上下间距怎么设置
  • python和js哪个好
  • js模拟点击confirm
  • 原生js实现promise.all
  • Python的requests网络编程包使用教程
  • 如何查询汽车发票
  • 江苏省国税电子税务局官网发票验
  • 云南发票网站
  • 双方交换住房可以吗
  • 国家税务培训信息网官网
  • 浙江残保金征收标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设