位置: 编程技术 - 正文

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

  • 管理费用与税金及附加哪个会影响利润
  • 服务外包行业要交社保吗
  • 计算应纳税所得额时 不得扣除支出有哪些
  • 农产品的税率是9%吗
  • 已经抵扣的进项税额转出怎么申报
  • 固定资产原值增加后折旧年限变吗
  • 本年利润每个月都转吗
  • 30万的车税可以抵多少
  • 当月没有发生购销合同还要报印花税吗
  • 社保补贴收入要交税吗?
  • 公司购入货架如何做账
  • 销售使用固定资产账务怎么处理
  • 发票章盖收据会被税务局罚款吗
  • 减免税额结转到待认证是什么意思
  • 发票报账的基本流程
  • 个人营业执照怎么注销网上申请流程
  • 承兑汇票漏章证明怎么写?
  • 金融企业呆账准备金是否允许补提
  • 啥叫规上工业企业
  • 事业单位固定资产处置流程
  • 生产酒的税收是多少
  • 企业收到政府扶贫资金补助及运用补助金怎么做账
  • 什么叫应付账款科目
  • 年终奖发放与补发的区别
  • mac系列电脑
  • win10我无法更改某些设置
  • 开机反应慢是怎么回事
  • php更新数据库
  • 暂估入库怎么暂估
  • 购入固定资产如何折旧
  • 公司房产税如何征收税率
  • 野生动植物种源包括
  • 处置设备影响的净损益
  • php删除数据
  • 从奎雷英山口看到的 Leum na Luirginn湖和Cleat湖,英国斯凯岛 (© Sebastian Wasek/Sime/eStock Photo)
  • php 生成opcode
  • 企业收到政府奖励会计分录
  • mysql跨库join
  • 出口退还增值税消费税政策
  • 工程施工科目下的招待费,汇算清缴
  • 财务人离职了怎么说
  • 服务业小规模纳税人税率
  • 报销人和收款人不一致
  • 新企业所得税实施细则
  • 小规模申报增值税减免税申报明细表
  • 其他应付款的账户结构
  • python默认画布大小
  • 房地产开发公司组织架构
  • mysql的联合查询
  • 有效税额可以更改吗
  • 个人购销合同范本
  • 费用类科目期末余额
  • 账实核对是指各种财产物资与债权债务的账面余额
  • 凭证字号和凭证编号一样吗
  • 职工工资加计扣除
  • 已认证未申报抵扣怎么办
  • 在建工程如何结转到产品
  • 企业转给法人的会计分录
  • 库存商品进项税额转出分录怎么写
  • 工程施工会计科目及账务处理
  • sql语句 时间差
  • MySql Error 1698(28000)问题的解决方法
  • 进程 cmd
  • win7系统怎么卸载显卡驱动
  • 应该怎么修复
  • linux常用命令useradd
  • linux命令grep -rl
  • linux开启ssh服务失败
  • cocos2d开发的知名游戏
  • Python定时器实例代码
  • jquery给表格赋值
  • 加快构建新发展格局,着力推动高质量发展心得体会
  • 用vue写登录页面
  • java密码强度检验工具
  • jQuery基本选择器
  • windows安装程序安装在哪里
  • 运输公司抵扣
  • 一般纳税人开劳务费税率是多少2023
  • 个人所得税房贷能退多少钱
  • 重庆电子税务局怎么绑定办税人员
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设