JavaScript 设计模式概览
1. 设计模式是什么?
设计模式是开发中解决常见问题的经典方案。设计模式并非具体代码,而是解决问题的通用解决方案,帮助开发者避免重复造轮子,提升代码的可维护性、可扩展性。
2. 设计模式的历史
设计模式起源于建筑领域,由克里斯托弗·亚历山大提出,并由GoF(四人组)引入软件工程。设计模式在开发中得到了广泛应用,为面向对象设计提供了标准化的解决方案。
3. 设计模式分类
-
创建型模式:管理对象的创建方式,增加代码灵活性。
-
结构型模式:简化复杂对象之间的结构。
-
行为型模式:定义对象之间如何交互和职责分配。
4. 设计模式汇总
4.1. 创建型模式
创建型设计模式描述的是 "怎样创建对象",它的主要特点是将 对象的创建和使用分离,这使得程序在创建对象与使用对象时更加灵活。创建型模式有:
-
工厂方法模式
-
抽象工厂模式
-
单例模式
-
建造者模式
-
原型模式
4.2. 结构型模式
结构型设计模式描述的是 "如何将类和对象按照某种布局组成更大的结构",这种类型的设计模式 关注的是类和对象的组合。结构型模式有:
-
代理模式
-
适配器模式
-
装饰器模式
-
桥接模式
-
组合模式
-
外观模式
-
享元模式
4.3. 行为型设计模式
行为型设计模式描述的是 "类或对象之间怎样相互协作以及怎样分配各自的职责,完成单个类或对象无法完成的任务"。行为型设计模式有:
-
观察者模式
-
发布订阅模式
-
模板方法模式
-
策略模式
-
责任链模式
-
中介者模式
-
访问者模式
-
命令模式
-
解释器模式
-
迭代器模式
-
备忘录模式
-
状态模式
5. 补充资料
-
重构设计模式:设计模式目录:22种设计模式
-
详尽设计模式:https://github.com/guang19/framework-learning/blob/dev/design_pattern/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E7%AE%80%E4%BB%8B.md
-
图解设计模式:图说设计模式 — Graphic Design Patterns
-
设计模式:可复用面向对象软件的基础:设计模式 | design-patterns