Skip to content

设计模式


参考链接:掘金-JavaScript的23种设计模式

什么是设计模式?

设计模式是解决问题的一种思想,和语言无关。在面向对象软件设计的工程中,针对特定的问题简洁优雅的一种解决方案。通俗一点的说,设计模式就是符合某种场景下某个问题的解决方案,通过设计模式可以增加代码的可重用性,可扩展性,可维护性,最终使得我们的代码高内聚、低耦合。

设计模式的五大设计原则

  • 单一职责:一个程序只需要做好一件事。如果功能过于负责就拆分开,保证每个部分的独立。
  • 开放封闭原则:对扩展开放,对修改封闭。增加需求时,扩展新代码,而不是修改源代码。这是软件设计的终极目标。
  • 里氏置换原则:子类能覆盖父类,父类能出现的地方,子类也能出现。
  • 接口独立原则:保持接口的单一独立,避免出现“胖接口”。这点目前在TS中运用到。
  • 依赖导致原则:面向接口编程,依赖于抽象而不依赖于具体。使用方法只专注接口而不用关注具体类的实现,俗称“鸭子类型”。

前端常见的设计模式

  1. 工厂模式:在不暴露创建对象的具体逻辑,二是将逻辑进行封装。
  2. 单例模式:一个类只能被实例一次, 每次获取时,如果类已经创建过了直接返回直接创建好的实例,有点像那个once方法,只执行一次new 类。用于弹窗。
  3. 适配器模式:解决接口不兼容的问题。
  4. 代理模式

面试:发布订阅模式和观察者模式的区别?

观察者模式:对象之间存在一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都会收到通知