JavaScript设计模式-外观模式(17)

简介: JavaScript设计模式-外观模式(17)

外观设计模式可以使方法保持简洁而不繁重,不需要去处理过多的工作量。它在做一些重新设计和重构代码工作时十分受用,当你想使用一个不同的实现来替换掉某一个对象时,可能会需要很长时间去完成一个复杂的对象,同时之前使用该对象的方法也会被重新编写,此时我们可以先想好新的方法,旧对象结合外观设计模式使用,在完全替换掉旧对象的时候,我们只需要修改少量代码就可以进行使用了


外观设计模式在生活中的应用就是我们程序员启动电脑的操作,我们看到的是按下电脑电源开关电脑就启动了,实际上电脑内部做些很多事情来实现电脑的开机操作,我们能通过简洁的操作实现电脑开机,我们可以看做成电脑电源开关是电脑对外提供给我们的开机方法


外观设计模式在实际业务中也是十分常见的,例如:阻止默认事件,我们来实现一下

我们平常需要阻止的默认事件是阻止事件冒泡到父节点和阻止浏览器执行默认行为

//阻止事件冒泡到父节点
function stop1(event){
event.stopPropagation()
}
//阻止浏览器默认行为:a标签的跳转链接和from表单的默认提交行为
function stop2(event){
event.preventDefault()
}

这俩个阻止默认行为是相互独立的方法,但是也经常被一块调用,所以为了我们能够在不同的业务功能中重复调用阻止浏览器默认行为,我们可以对它使用外观设计模式


声明一个对象,该对象有一个stop方法,stop方法中接受event对象,在stop方法内部通过if语句的方式进行判断是否拥有默认事件方法,如果拥有则进行阻止

const STOPEVENT =  {
    stop(event) {
        //阻止浏览器默认行为
        if (typeof (event.preventDefault === "function")) {
            event.preventDefault();
        }
        //阻止事件冒泡到父节点
        if (typeof (event.stopPropagation == "function")) {
            event.stopPropagation();
        }
    }
};

外观设计模式能够很好的减少代码的复杂性,减少了对方法内部的修改,提高了代码的可维护性


坚持努力,无惧未来!

相关文章
|
2月前
|
设计模式 缓存 应用服务中间件
「全网最细 + 实战源码案例」设计模式——外观模式
外观模式(Facade Pattern)是一种结构型设计模式,旨在为复杂的子系统提供一个统一且简化的接口。通过封装多个子系统的复杂性,外观模式使外部调用更加简单、易用。例如,在智能家居系统中,外观类可以同时控制空调、灯光和电视的开关,而用户只需发出一个指令即可。
152 69
|
1月前
|
设计模式 JavaScript 算法
浅谈几种js设计模式
设计模式是软件开发中的宝贵工具,能够提高代码的可维护性和扩展性。通过单例模式、工厂模式、观察者模式和策略模式,我们可以解决不同场景下的实际问题,编写更加优雅和高效的代码。
33 8
|
2月前
|
设计模式 数据安全/隐私保护
Next.js 实战 (七):浅谈 Layout 布局的嵌套设计模式
这篇文章介绍了在Next.js框架下,如何处理中后台管理系统中特殊页面(如登录页)不包裹根布局(RootLayout)的问题。作者指出Next.js的设计理念是通过布局的嵌套来创建复杂的页面结构,这虽然保持了代码的整洁和可维护性,但对于特殊页面来说,却造成了不必要的布局包裹。文章提出了一个解决方案,即通过判断页面的skipGlobalLayout属性来决定是否包含RootLayout,从而实现特殊页面不包裹根布局的目标。
127 33
|
4月前
|
设计模式 前端开发 JavaScript
JavaScript设计模式及其在实战中的应用,涵盖单例、工厂、观察者、装饰器和策略模式
本文深入探讨了JavaScript设计模式及其在实战中的应用,涵盖单例、工厂、观察者、装饰器和策略模式,结合电商网站案例,展示了设计模式如何提升代码的可维护性、扩展性和可读性,强调了其在前端开发中的重要性。
69 2
|
5月前
|
设计模式 JavaScript 前端开发
JavaScript设计模式--访问者模式
【10月更文挑战第1天】
57 3
|
6月前
|
设计模式 Java
Java设计模式-外观模式(11)
Java设计模式-外观模式(11)
|
7月前
|
设计模式 存储 Java
【九】设计模式~~~结构型模式~~~外观模式(Java)
文章详细介绍了外观模式(Facade Pattern),这是一种对象结构型模式,通过引入一个外观类来简化客户端与多个子系统之间的交互,降低系统的耦合度,并提供一个统一的高层接口来使用子系统。通过文件加密模块的实例,展示了外观模式的动机、定义、结构、优点、缺点以及适用场景,并讨论了如何通过引入抽象外观类来提高系统的可扩展性。
【九】设计模式~~~结构型模式~~~外观模式(Java)
|
5月前
|
设计模式 Java
Java设计模式之外观模式
这篇文章详细解释了Java设计模式之外观模式的原理及其应用场景,并通过具体代码示例展示了如何通过外观模式简化子系统的使用。
54 0
|
7月前
|
设计模式 JavaScript 前端开发
从工厂到单例再到策略:Vue.js高效应用JavaScript设计模式
【8月更文挑战第30天】在现代Web开发中,结合使用JavaScript设计模式与框架如Vue.js能显著提升代码质量和项目的可维护性。本文探讨了常见JavaScript设计模式及其在Vue.js中的应用。通过具体示例介绍了工厂模式、单例模式和策略模式的应用场景及其实现方法。例如,工厂模式通过`NavFactory`根据用户角色动态创建不同的导航栏组件;单例模式则通过全局事件总线`eventBus`实现跨组件通信;策略模式用于处理不同的表单验证规则。这些设计模式的应用不仅提高了代码的复用性和灵活性,还增强了Vue应用的整体质量。
103 1
|
7月前
|
设计模式 JavaScript 前端开发
小白请看 JS大项目宝典:设计模式 教你如何追到心仪的女神
小白请看 JS大项目宝典:设计模式 教你如何追到心仪的女神

热门文章

最新文章