位置: 编程技术 - 正文

设计模式中的facade外观模式在JavaScript开发中的运用(设计模式中的行为模式)

编辑:rootadmin

推荐整理分享设计模式中的facade外观模式在JavaScript开发中的运用(设计模式中的行为模式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:设计模式中的单例模式,设计模式中的关系模式,设计模式中的合成模式,设计模式中的开闭原则,设计模式中的行为模式,设计模式中的思想,设计模式中的行为模式,设计模式中的开闭原则,内容如对您有帮助,希望把文章链接给更多的朋友!

概念

外观模式(门面模式),是一种相对简单而又无处不在的模式。外观模式提供一个高层接口,这个接口使得客户端或子系统更加方便调用。

外观模式并不是适配器模式,适配器模式是一种包装器,用来对接口进行适配以便在不兼容系统中使用它。而创建外观元素则是图个方便。它并不用于达到需要特定接口的客户系统打交道这个目的,而是用于提供一个简化的接口。

JavaScript代码示例

用一段再简单不过的代码来表示

如果你需要分别调用getName和getSex函数. 那可以用一个更高层的接口getUserInfo来调用.

也许你会问为什么一开始不把getName和getSex的代码写到一起, 比如这样

答案是显而易见的,饭堂的炒菜师傅不会因为你预定了一份烧鸭和一份白菜就把这两样菜炒在一个锅里。他更愿意给你提供一个烧鸭饭套餐。同样在程序设计中,我们需要保证函数或者对象尽可能的处在一个合理粒度,毕竟不是每个人喜欢吃烧鸭的同时又刚好喜欢吃白菜。外观模式还有一个好处是可以对用户隐藏真正的实现细节,用户只关心最高层的接口。比如在烧鸭饭套餐的故事中,你并不关心师傅是先做烧鸭还是先炒白菜,你也不关心那只鸭子是在哪里成长的。最后写个我们都用过的外观模式例子

设计模式中的facade外观模式在JavaScript开发中的运用(设计模式中的行为模式)

我知道外观模式的概念很容易掌握,你都不一定需要一个JavaScript代码的例子,但是总有些人更在乎代码,会觉得那样才更容易理解。更何况,没有代码示例的JavaScript文章根本就不具说服力,就应该从网上删掉。 我们从一个简单的事件监听器的例子开始。大家都知道要添加一个事件监听器并不是一件容易的事,除非只想让代码运行在少数几个浏览器上。你不得不测试很多方法以确保针对不同浏览器的代码都能正常运行。在这个代码示例中我们只是把特性检测添加到这个方法中:

简单吧!我真希望我可以不用写那些不必要的代码,让它们越简单越好,但是如果真是这样就没什么意思了,你也不会想读下去了,对吧?所以我不这么认为,我想我要给你看点更复杂的东西。我只是想说,你的代码原本看起来会有些像下面这样:

太蹩脚了!你对每个元素做了一模一样的事!我认为我们可以让它变得更简单点:

是不是觉得咱们NB坏了?你快算了吧!咱们可是JavaScript程序员呀!能不能用点脑子,来点真格的。也许我们可以只调用一次就能设置所有的样式。看下这个:

如果我们有很多元素想设置相同的样式,那这段代码真是为我们节省了不少时间。

外观模式之利:使用外观模式的目的就是要让程序员过的更轻松一些,编写一次组合代码,然后就可以反复使用它,这有助于节省时间和精力。给一些复杂的问题提供一个简化接口。

外观方法方便了开发人员,斌共提供过了比较高层的功能,降低对外部代码的依赖程度,为应用系统的开发增加了一些额外的灵活性。通过使用外观模式,可以避免与下层子系统紧密耦合。这样就可以对这个系统进行修改而不会影响到客户代码。

外观模式之弊:有时候外观元素也会带来一些不必要的额外负担。在实施一些套路之前应该认真掂量一下其实用性。有时相比一个庞杂的外观函数,其组成函数在力度方面更有吸引力。这是因为外观函数可能常常会执行一些你并不需要的任务。

对于简单的个人网站或少量营销网页来说,仅为工具提示和弹出式窗口这样一点增强行为就导入这个Javascript库可能并不明智。此时考虑只使用少许简单的外观元素而不是一个满是这类东西的库。

外观函数为执行各种复杂任务提供了一个简单的接口,它们使代码更容易维护和理解。它们还能弱化子系统和客户代码的耦合。把经常相伴出现的常用函数组合在一起。这个模式在DOM脚本编程这种需要面对葛洪不一致的浏览器接口的环境中很常用。

详解JavaScript实现设计模式中的适配器模式的方法 有的时候在开发过程中,我们会发现,客户端需要的接口和提供的接口发生不兼容的问题。由于特殊的原因我们无法修改客户端接口。在这种情况下,

Adapter适配器模式在JavaScript设计模式编程中的运用分析 定义适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不

实现JavaScript的组成----BOM和DOM详解 我们知道,一个完整的JavaScript的实现,需要由三部分组成:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型)。今天主要学习BOM和DOM。BOM:BOM提供了

标签: 设计模式中的行为模式

本文链接地址:https://www.jiuchutong.com/biancheng/370047.html 转载请保留说明!

上一篇:JavaScript设计模式开发中组合模式的使用教程(js设计模式有什么用)

下一篇:详解JavaScript实现设计模式中的适配器模式的方法(javascriptz)

  • 不予认定一般纳税人
  • 专项扣除子女教育大学生可以吗
  • 审核记账对账结果怎么写
  • 筹资现金流量净额为负说明了什么问题
  • 辞退福利全部计入当期
  • 员工报销医疗费怎么做账
  • 开票方没缴税咋办
  • 银行结汇汇兑损益的会计分录怎么写?
  • 支付本月租金计入什么科目
  • 经营性租赁购入会计分录
  • 企业办理跨境人民币收付需要办理名录登记吗
  • 个人去税局开劳务费需要注意什么
  • 支付境外个人佣金
  • 机动车强制保险新政策
  • 股票期权所得税率
  • 库存周转天数计算实例
  • 科目编码首位与分类编号不符,接受此编码吗
  • 支票作废了需要什么材料
  • 其他应付款辅助核算怎么挂
  • macos12支持设备
  • 应交税金月底可以有余额吗
  • 银行融资成本计算方法
  • 企业之间的往来款现金流
  • 二手固定资产使用年限
  • 惠普2600打印机故障排除
  • mac怎么保存
  • php封装接口
  • 企业备用金管理制度规定
  • 委托加工不提供原材料会计分录
  • zend framework手册
  • La Selva生物站热带雨林树冠上的黑嘴巨嘴鸟,哥斯达黎加 (© Greg Basco/Minden Pictures)
  • 西安微信公众号开发
  • 代扣代缴增值税账务处理
  • vue写的购物车详细步骤
  • smarty模板引擎
  • 公司购进软件的账务处理
  • 免税收入和免征
  • 个人所得税既有工资薪金又有劳务报酬房屋租金
  • 公司的账面现金怎么算
  • dedecms安装步骤
  • mongodb cond
  • 无偿受让股权是利好吗
  • 个人所得税进什么科目
  • MySQL 5.7 create VIEW or FUNCTION or PROCEDURE
  • 投资性房地产进项税抵扣
  • 息税前利润变动率怎么算
  • 买个人的二手车能贷款吗
  • 制造费用的结转正确的是( )
  • 成本类账户期末如有余额在借方
  • 出售投资性房地产的收入计入什么科目
  • 所得税费用的核算方法叫
  • 其他流动资产为什么包括应交增值税
  • 成本与费用的区别联系
  • 统计会计主要做什么
  • 建账的基本流程图
  • mysql5.7.19 winx64安装配置方法图文教程(win10)
  • 各个都很实用:win7系统电脑日常小技巧
  • win7系统如何卸载流氓软件
  • wondows文件保护
  • linuxsu命令作用
  • centos which
  • linux的grep命令详解
  • macbookpro4399小游戏
  • qclean.exe - qclean是什么进程 有什么用
  • make:arm-linux- conmand not found错误处理探讨
  • NPFMSG.exe - NPFMSG是什么进程 有什么用
  • bootstrap表格内容模板
  • bat脚本如何运行
  • 简述bootstrap中模态框的javascript方法
  • 自定义图片制作软件
  • java轻松学
  • jq获取form表单数据
  • jquery基本知识
  • 禁止所有陌生人的来电设置
  • 电子税务局税务数字证书登录
  • 辽宁省国家税务局网上申报
  • 港澳台资企业
  • 在外地买车在青岛能买吗
  • 通辽这个地方怎么样
  • 浙江省如何自助缴纳社保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设