【青训营】- JS中的设计模式

108 阅读3分钟

什么是设计模式

在软件设计过程中,针对特定问题的简介而优雅的解决方案

经验总结→合理运用→解决问题

SOLID五大设计原则

  • S单一职责原则:一个程序只做好一件事
  • O开放封闭原则:对扩展开放,对修改封闭
  • L里氏置换原则:子类能覆盖父类,并能出现在父类出现的地方
  • I接口独立原则:保持接口的单一独立
  • D依赖导致原则:使用方法只关注接口而不关注具体类的体现

设计模式的特点:

01.易读性

使用设计模式能够提升代码的可读性,提升后续开发效率

02.可拓展性

使用设计模式对代码解耦,能很好地增强代码的易修改性和扩展性

03.复用性

使用设计模式可以重用已有的解决方案,无需再重复相同工作

04.可靠性

使用设计模式能够增加系统的健壮性,使代码编写真正工程化

常见设计模式

单例模式|策略模式|代理模式|发布订阅模式|命令模式|组合模式|装饰器模式|适配器模式

单例模式

定义:

唯一&全局访问。保证一个类仅有一个实例,并提供一个访问它的全局访问点。

应用场景:

能被缓存的内容,例如登陆弹窗

策略模式

定义:

定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。把看

毫无联系的代码提取封装、复用,使之更容易被理解和拓展。

应用场景:

要完成一件事情,有不同的策略。例如绩效计算、表单验证规则。

代理模式

定义:

为一个对象提供一个代用品或占位符,以便控制对它的访问。替身对象可对

求预先进行处理,再决定是否转交给本体对象。

应用场景:

不方便直接访问某个对象时,或不满足需求时,可考虑使用一个替身对象来

制该对象的访问。

发布订阅模式

定义:

对象间的一种一对多的依赖关系,当一个对象状态发生改变时,所有依赖于

它的对象都将得到通知。

应用场景:

DOM事件、消息通知。

命令模式

定义:

执行某些特定事情的质指令

应用场景

富文本编辑器工具栏

组合模式

定义:

用小的子对象来构建更大的对象,将对象组合成树形结构,以表示“部分-整

体”的层次结构。

应用场景:

从is-a到has-a。

装饰器模式

定义:

能够在不改变对象自身的基础上,在程序运行期间给对象动态地添加职责。

应用场景:

数据上报、统计函数执行时间。

适配器模式

定义:

解决两个软件实体间的接口不兼容问题,不需要改变已有的接口,就能够使它

们协同作用。

应用场景:

接口不兼容的情况。

\