设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

  • 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性;
  • 设计模式使代码编制真正工程化;
  • 设计模式是软件功能的基石脉络,如同大厦的结构一样。

设计模式共23种分为三大类,分别为:
(1)创建型模式:主要用于创建对象。
共5种:简单工厂(Simple Factory)模式、抽象工厂(Factory Method)模式、单例(Singleton)模式、建造者(Builder)模式和原型(Prototype)模式。

(2)结构型模式:主要用于处理类或者对象的组合。
共7种:适配器模式(Adapter)、装饰(Decorator)模式、代理(Proxy)模式、外观/门面(Facade)模式、桥接(Bridge)模式、组合/合成(Composite)模式和享元(Flyweight Pattern)模式。

(3)行为型模式:主要用于描述类或者对象怎样交互和怎样给分配职责。
共11中:策略(Strategy)模式、模板方法(Templete Method)模式、观察者(Observer)模式、迭代子(Iterator)模式、责任链(Chain of Responsibility)模式、命令(Command)模式、备忘录(Memento)模式、状态(State)模式、访问者(Visitor)模式、中介者/调停者(Mediator)模式和解释器(Interpreter)模式。
在接下来的文章中会对以上模式逐个分析。