# 编程范式 面向对象设计模式

# 什么是设计模式

在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。

设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。

# 设计模式与架构模式

设计模式用于指导如何编写代码。

架构模式用于指导如何设计软件。

# 目录

创建

  • 工厂模式
  • 原型模式
  • 单例模式

结构

  • 适配器模式
  • 代理模式
  • 装饰器模式
  • 桥接模式
  • 组合模式
  • 享元模式

行为

  • 观察者模式
  • 状态机模式
  • 策略模式
  • 命令模式
  • 迭代器模式
  • 解释器模式

技巧

  • 委托模式
  • 惰性模式
  • 数据访问对象
  • 简单模板模式

架构

  • 同步
  • 异步
  • Widget
  • MVC
  • MVP
  • MVVM

# 参考资料

豆瓣读书 - 《JavaScript 设计模式与开发实践》- [中]曾探 (opens new window)

豆瓣读书 - 《JavaScript设计模式》- [中]张容铭 (opens new window)