位置: 编程技术 - 正文

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

  • 增值税附加税的会计处理
  • 两地发工资个税处理
  • 旧设备出口增值税处理
  • 自行申报需补缴税款时征收滞纳金吗
  • 公款私存个人账户怎么处理
  • 收到的加盟费要交税吗
  • 高新技术企业发展现状
  • 软件企业收到先征后返的增值税税款是否要缴纳企业所得税
  • 接受捐赠计入什么费用
  • 转让土地使用权会计分录怎么做
  • 技术转让费为什么那么贵
  • 开具的发票是否为印花税的应税凭证?
  • 销售回扣分录
  • 现金折扣后退回账户
  • 未收到发票可以计提成本吗
  • 核定征收的公司用做账么
  • 行政单位租个人房子能用收据下账吗
  • 这几点政府补助会计新准则值得关注
  • 企业无形资产包括
  • cpu天梯图2022最新排行榜
  • 筹建期固定资产是否要折旧
  • 一般纳税人转小规模流程
  • PHP:stream_get_contents()的用法_Stream函数
  • 发生的广告费用属于什么会计要素
  • yii2框架的优缺点
  • php链式操作
  • php返回数据给ajax
  • 微信小程序完整授权
  • nn.lstm输出
  • 新版本idea怎么创建javaweb
  • php remote_addr
  • 库存盘点差异会计分录
  • 存根联是自己留着吗
  • 流动资产与资产总额的比率叫什么比率
  • 非正常户管理办法
  • 个体工商户具体工作内容怎么写
  • 工会经费能不能用于体检
  • sql注入攻击代码
  • asp 数据库
  • sqlserver数据库作业
  • sql server 2005 数据库还原
  • 期末留底的进项税怎么下账
  • 摊余成本通俗易懂
  • 计提附加税费是什么意思
  • 事业单位没有
  • 收到总公司拨款怎么入账
  • 复利现值和复利终值互为逆运算对吗
  • 收到预付卡的发票是否可以报销呢?
  • 直接计入管理费用的税金有哪些
  • 注册资本转出可以吗
  • 事业单位其他特殊人员医疗保障是什么意思
  • 利润率百分百是什么意思
  • 苗木设计方案
  • 保险公司的返点能要吗
  • 拍卖公司没开发票能退吗
  • sql查询包含特殊
  • 在一台服务器上安装软件
  • Windows Server 2008的节能降耗
  • macos越狱教程
  • 如何查看freenass密码
  • Win10预览版怎么变回正式版
  • windows安装软件需要管理员权限
  • 安装双系统后无法进入原来的系统
  • msg是什么文件
  • win7c盘winsxs
  • 电脑系统 win7
  • w10自启
  • 在linux操作系统中把外部设备当作文件统一管理
  • win10更新补丁后共享打印机无法使用
  • meta 标签
  • 代码sd是什么意思
  • javascript 日期运算
  • node.js下载安装教程
  • win10的安装方式有哪些
  • 佛山国家税务局招聘
  • 残疾人可以免增值税吗
  • 内蒙古城镇土地使用税税率表
  • 教师资格证认定流程
  • 车辆购置印花税需入固定资产吗
  • 税务之星ii驱动
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设