位置: 编程技术 - 正文

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

  • 金税盘开票软件密码忘记怎么办
  • 个税手续费返还政策最新规定2023
  • 税收 特征
  • 应税销售额是指
  • 固定资产怎么确定是否减值
  • 外贸出口备案需准备什么资料
  • 人工费用的核算例题
  • 生产车间安装监控的目的
  • 固定资产不能抵扣进项税额
  • 企业招待客户的费用
  • 进项税暂估收入的税务处理
  • 价内税和价外税名词解释
  • 公司单独买医保
  • 增值税的价外费用不包括什么
  • 内账价税分离余额怎么处理
  • 资产负债表在途物资属于存货吗
  • 小规模纳税人发票增额需要什么手续
  • 个体户生产经营所得怎么报税
  • 买入返售金融资产什么意思
  • 营改增建筑工程怎么计算举例
  • 电子普通发票怎么开
  • 收到对方公司的货款怎么记账
  • 技术服务的大类包括
  • 公司注销退回投资款如何账务处理
  • 域名解析错误怎么解决mac
  • php add
  • 公司向股东还款的会计分录
  • fsacder2e是什么文件夹
  • 口腔发炎怎么办最快最有效的方法
  • 钢铁企业成本核算表
  • 企业应收票据贴现 哪个部门负责
  • 加计扣除的增值税,城建税怎么算
  • 应收账款属于会计要素中的什么科目
  • vue中是如何划分的,每个区域的作用是什么
  • 退税发票在总局怎么开
  • 累计减除费用多还是少好
  • 【C#+JavaScript+SQL Server】实现Web端在线考试系统 五:考试模块设计(附源码和资源)
  • 毕业设计基于plc的全自动包装机
  • 超市账目月底怎么核算
  • 缴纳增值税会计科目
  • 长期待摊费用如何处理
  • phpcms使用教程
  • 帝国cms下载
  • 企业所得税费用怎么算2023年
  • 未缴增值税的贷方
  • 删除mysql57服务
  • sqlserver2000分页
  • mysql怎么使用表
  • 公司与公司的往来款计入什么科目
  • 评估增值净利润调减
  • 驾驶员培训费纳税吗
  • 电子承兑背书一般多久到账
  • 小规模个人所得税税率表2023年
  • 房屋租赁协议印花税怎么计算
  • 暂估未取得发票汇缴纳税调增怎么填
  • 流动负债占比低什么意思
  • 有奖销售增值税处理
  • mysql分页实现
  • xp系统如何清理缓存
  • win2008组策略
  • ubuntu服务
  • linux中man的用法
  • centos7 pptp搭建
  • freebsd11.3安装教程
  • windows10正式版
  • mac如何强制退出微信
  • 苹果MaC系统查找微信储存文件
  • linux重复命令
  • linux三种用户权限
  • win8怎么做win7系统
  • 人在国外怎么补办身份证
  • 四个版本的雪国开头翻译
  • opengl 透视投影
  • ghost此应用无法在你的电脑上运行
  • vue js 页面代码分离
  • unity-Lightmapping
  • js判断网页链接是否可用
  • 陕西宝鸡国税人才招聘
  • ca锁使用
  • 9月份公积金什么时候扣
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设