位置: 编程技术 - 正文

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

  • 每个季度申报怎么申报?
  • 交易性资产入账金额和入账金额区别
  • 房地产开发的会计处理
  • 税务局财务报表报送期限
  • 印花税的计税依据为各种应税凭证上所记载的计税金额
  • 实收资本如何网上转账
  • 企业所得税年度申报表A类
  • 出售无形资产计入资产处置损益还是营业外收入
  • 企业进行税收筹划
  • 经营租赁融资租赁增值税税率
  • 公司新装宽带怎么做账?
  • 出租设备应计入什么科目
  • 确定发出存货实际成本的方法
  • 个体户交地税
  • 房地产企业自行开发的房地产项目
  • 金税盘锁死去税务局流程
  • 电子汇票如何背书步骤
  • 营改增挂靠工程项目账务处理
  • 专票红冲分录
  • 建筑行业挂靠什么意思
  • 个人给公司付款怎么做分录
  • 包工包料装修
  • 汇算清缴相关分录有哪些
  • 当月进项留抵如何做账
  • 资产减值损失汇算清缴需要调增嘛?
  • 违约金没有写按什么算
  • 既征收消费税又征收增值税的是
  • flash是什么文件
  • php io操作
  • k8s安装步骤
  • 当年实现的利润弥补以前年度亏损还是提盈余公积
  • 基于javaweb是什么意思
  • typescript is as
  • php设计模式六大原则
  • 盘亏的固定资产是资产吗
  • 企业补提以前年度未提的坏账准备
  • 列入固定资产的金额标准
  • 飞书slogan
  • 房地产公司土地计入什么科目
  • 小规模纳税人如何申报增值税
  • 发放工资代扣个人所得税的记账凭证怎么填
  • db2pd 命令
  • 2021个税新规工资表公式
  • 材料采购如何做好市场调研工作
  • 会计支付预付款怎么记账
  • 国地税合并对个人带来的影响
  • 息税前利润怎么算出来的
  • 股份支付应如何进行账务处理?
  • 手撕定额发票可以抵扣吗
  • 坏账收回所得税需要确认收入吗汇算清缴表如何填报
  • 通讯发票可以税后抵扣吗
  • 专票不报销公司查得到吗
  • 废品损失如何处理
  • 物业服务企业管理
  • b-树和b+树都能有效地支持随机检索
  • MySQL数据库备份
  • mysql的join有几种
  • mysql绿色版安装配置教程
  • win8装机软件
  • 找回被删除的文件时第一步应该是什么
  • linux连接vps
  • mac ios应用
  • onekey.exe是什么
  • win7为什么会出现小黄锁
  • win 7怎么办
  • js 高级技巧
  • nodejs formidable
  • 教你在heroku云平台上部署Node.js应用
  • python语言如何获取随机整数
  • javascript性能优化写法
  • node的express
  • 设计模式含义
  • 使用jquery实现的项目
  • python 基础 教程
  • 党建联建是什么部门负责
  • 冻结银行账户属于什么
  • 如何查询甘肃省志愿录取状态
  • 港澳台人士可以在上海申请积分吗
  • 我各位一个关于网上申报增值税所得税的申报流
  • 市中区税务局办税大厅上班时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设