JavaScript 设计模式核心原理笔记

核心思想

​ SOLID 设计原则

​ “SOLID”是由罗伯特·C·马丁在 21 世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则。

分别是:

  • 单一功能原则(Single Responsibility Principle)
  • 开发封闭原则(Opened Closed Principle)
  • 里市替换原则(Liskov Substitution Principle)
  • 接口隔离原则(Interface Segregation Principle)
  • 依赖反转原则(Dependency Inversion Principle)

设计模式的核心思想——封装变化

将变与不变分离,确保变化的部分灵活、不变的部分稳定

设计模式中的“术”

二十年前,四位程序员前辈(Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides)通过编写《设计模式:可复用面向对象软件的基础》这本书, 阐述了设计模式领域的开创性成果。在这本书中,将 23 种设计模式按照“创建型”、“行为型”和“结构型”进行划分:

23种设计模式

无论是创建型、结构型还是行为型,这些具体的设计模式都是在用自己的方式去封装不同类型的变化。

​ 创建型模式封装了创建对象过程中的变化,比如工厂模式,他做的事情就是讲创建对象的过程抽离;

​ 结构型模式封装的是对象之间组合方式的变化,目的在于灵活地表达对象间的配合与依赖关系;

​ 行为型模式则将是对象千变万化的行为进行抽离,确保我们能够更安全、更方便地对行为进行更改

设计原则

分类依据

创建型

工厂模式

抽象工厂模式

原型模式

结构型

装饰器模式

适配器模式

代理模式

行为型

观察者模式

策略模式

状态模式

迭代器模式

思考:

实例和类的关系

为什么要有实例

为什么不能用类来实现代码

new Function()

new Error()

new Array()

new Object()

...

为什么要 new 它,为什么要实例化它

Last Updated:
Contributors: johan