位置: 编程技术 - 正文

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

  • 税控盘服务费全额抵扣分录
  • 年末是否结转本年利润
  • 城镇土地使用税的计算公式
  • 个人服务费发票几个点
  • 外资企业法最新
  • 社保工伤保险可以交两家公司吗
  • 出售无形资产计入资产处置损益
  • 发票管理中的四流一致是指什么一致
  • 收到上年多缴的企业所得税
  • 未开票收入下月开票怎么做分录
  • 出口货物当期免抵退税不得免征和抵扣税额,应计入
  • 企业注销的时候未分配利润怎么处理
  • 个人可支配收入缩写
  • 存货清查会计分录例题盘亏
  • 股票买卖属于投资活动吗
  • 专项资金怎么入账
  • 企业所得税本季度可以弥补上季度亏损吗?
  • 网上办税大厅查询财务负责人?
  • 代开专票退票流程及说明
  • 代开普票需要具备哪些资料?
  • 个体户可以不领税控盘吗
  • 增值税多交可以在下一期直接抵吗
  • 用工和用人单位
  • 购买土地建厂房还要交土地使用费吗
  • 营业外支出期末需要结转吗
  • 税控专用设备全称是什么
  • 如何在Excel中进行单元格格式化?
  • 苗木发票抵扣政策2021
  • 留置权什么时候才可以行使
  • 福利费需要扣税吗
  • go进程管理
  • windows10和win10
  • 员工自己垫付的费用怎么走账
  • 投资性房地产出售时其他综合收益
  • 解决laravel 5.1报错:No supported encrypter found的办法
  • 暂估入库的商品含税吗
  • vue监听页面加载完毕
  • 论文resit
  • 进项税额转出结转会计分录怎么写
  • arp命令行
  • 税收返还会计处理办法
  • opengl加阴影
  • php安装插件
  • 利息收入为什么冲减财务费用
  • 咨询公司需要交税吗
  • 成品油红字发票开具后库存数量如何冲回?
  • 背书转让流程图
  • 一般整形医院的药在哪进货
  • 小额贷款公司ei
  • 代发的工资如何做账
  • 借支单是会计算做还是出纳做
  • 资产减值损失怎么计提
  • 个体工商户注销代办
  • 会计从业人员信息查询
  • 会计凭证的摘要 报销 保险费用
  • win2000安装过程
  • vcdcontroltool
  • 利用系统的公文有哪些
  • window系统中用什么命令来跟踪路由
  • windows+ctrl+m
  • win10系统应用和浏览器控制需要启用吗
  • window10邮件
  • linux ntp查看
  • Tutorial 4: Shaders
  • jsclass选择器
  • 批处理自动确定
  • 手机游戏服务器无响应是怎么回事
  • angularjs教程
  • gpu解码视频
  • bootstrap要学到什么程度
  • js如何实现图片轮播
  • jquery的选择器都有哪些
  • 电子税务局电子送达文书怎么签收
  • 税务行政处罚一般程序和简易程序的区别
  • 房产税纳税义务终止
  • 出口退税应退税额未发生变化 骗税
  • 车船税完税证明开具如何开具
  • 江苏省发展改革委
  • 收到unknown发来的短信
  • 河北税务怎么打不开网页
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设