Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 1.93 KB

README.md

File metadata and controls

58 lines (45 loc) · 1.93 KB

JsDesignPattern

javascript 23 kinds of design pattern.

SOLID 五大设计原则

  1. 单一功能(S): 认为对象应该仅具有一种单一功能的概念。
  2. 开闭原则(O): 认为“软件体应该是对于扩展开放的,但是对于修改封闭的”的概念。
  3. 里氏替换(L): 认为“程序中的对象应该是可以在不改变程序正确性的前提下被它的子类所替换的”的概念。参考契约式设计。
  4. 接口隔离(I): 认为“多个特定客户端接口要好于一个宽泛用途的接口”的概念。
  5. 依赖反转(D): 认为一个方法应该遵从“依赖于抽象而不是一个实例”的概念。依赖注入是该原则的一种实现方式。
  • S:The Single-Responsibility Principle (SRP)
  • O:The Open/Closed Principle (OCP)
  • L:The Liskov Substitution Principle (LSP)
  • I:The Interface Segregation Principle (ISP)
  • D:The Dependency-Inversion Principle (DIP)

创建型(creational)

  • factory 工厂模式
  • abstract factory 抽象工厂模式
  • builder 建造者模式
  • singleton 单例模式
  • prototype 原型模式

结构型(structural)

  • adapter 适配器模式
  • decorator 修饰器模式
  • proxy 代理模式
  • facade 外观模式
  • bridge 桥接模式
  • composite 组合模式
  • flyweight 享元模式

行为型(behavioral)

  • strategy 策略模式
  • template 模版方法模式
  • observer 观察者模式
  • iterator 迭代器模式
  • chain of responsibility 职责链模式
  • command 命令模式
  • memento 备忘录模式
  • state 状态模式
  • visitor 访问者模式
  • mediator 中介者模式
  • interpreter 解释器模式

参考

  1. https://github.com/fbeline/Design-Patterns-JS
  2. http://www.alloyteam.com/2012/10/common-javascript-design-patterns/
  3. https://segmentfault.com/a/1190000012422055
  4. http://www.runoob.com/design-pattern/design-pattern-tutorial.html

If any design pattern explanation is incorrect or not understood, please contact me at [email protected]