位置: 编程技术 - 正文

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

  • 会计做账能否使用复印件做账
  • 支付利息现金流量表中什么增加
  • 对公帐户退款
  • 研发活动计入当期损益怎么计算
  • 发票验旧期限
  • 装修费用税法规定
  • 如何查询公司的财务负责人
  • 小企业准则适用于什么企业
  • 资信证明好开吗
  • 准予抵扣的进项税范围
  • 调增企业所得税怎么算
  • 固定资产的确认条件是什么
  • 成品盘盈盘亏的会计分录
  • 社保逾期滞纳金可以免除吗?
  • 退税收入需要缴纳所得税吗
  • 如何知道企业交了多少税
  • 西安的税务局
  • 公司购买的矿泉水属于什么科目
  • 对账单回复函
  • 印花税减半征收会计分录怎么做
  • 公益组织接受捐赠怎么开票
  • 出口业务类型怎么写
  • 员工迟到扣工资的会计处理
  • 零申报逾期未申报怎么补报
  • win10用户头像错误 设置用户头像失败,请再试一次
  • win11windows键没反应
  • 100%控股有什么风险
  • 企业分配利润的原则
  • 哪些凭证可以抵扣
  • 购买监控设备费用谁出
  • win11版本22000.194
  • windows11怎么快速截屏
  • 电脑扩展卷是灰色的的怎么办
  • 做胃镜多少钱了
  • 给子公司开票 总公司付款
  • 外资企业股权转让给外资企业
  • 购买免税农产品可以抵扣进项税
  • 语音处理算法
  • 企业的民间借贷怎么处理
  • php uasort
  • 手把手教你用气焊视频
  • css点击菜单显示内容
  • telnet 执行命令
  • 公交卡充值发票报销单怎么填
  • 企业实缴各类税金的总额
  • 企业商业负债包括哪些
  • input和printf的区别
  • php判断是否为整数
  • 土地租赁费属于什么收入
  • 进口增值税完税证明网哪里打印的
  • 个税手续费返还计入哪个科目
  • 实缴资本需要存放多久
  • 预收账款核算如何做账
  • 预付账款怎样做会计分录
  • 普通发票记账联盖章了怎么办
  • 营业外支出的性质
  • xp系统中文语言包
  • win10系统可以自己安装驱动吗
  • 怎么才能使牙齿变白
  • Mac系统怎么设置ftp
  • Linux中终止某个用户的所有进程的简单方法
  • 安装centos6.6详细步骤
  • usrmlnka.exe - usrmlnka进程是什么意思
  • sedsvc.exe是什么
  • pqhelper.exe是什么进程 pqhelper进程查询
  • linux服务器日志文件在哪里
  • win7自带解压缩
  • win10商店没有图标
  • 简单的安卓程序
  • 同一内容复制到多个单元格
  • jquery.handleerror
  • unity随机生成一个物体
  • unity3D游戏开发
  • python类的理解
  • 动态表单的设计与实现
  • python 管理系统
  • 浙江个体户开票软件
  • 车辆购置税查询不到应征欠税信息,不能进行扣款操作
  • 餐饮发票怎么看真假
  • ic卡读取失败是怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设