基础的设计模式一共有二十三种,从功能上我们可以将它们分成三类:创建型、结构性和行为型。创建型一共有五种设计模式:抽象工厂、建造者、工厂方法、原型和单例。结构型一共有七种设计模式:适配器、桥接、组合、装饰器、门面、享元和代理。行为一共有十一种模式:责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模板方法和访问者。下面简单描述一下各个模式的特征:
创建型
1. 抽象工厂模式
我们不但想把创建对象的逻辑抽象出来,而且不同的工厂来创建具有差异化的同类型产品。

2. 建造者模式
3. 工厂模式
在某些场景中,对象的创建逻辑会比较繁琐,可能有一些条件判断,有些属性需要赋值等。我们可以把这些创建对象的逻辑全部抽象出来放到一个专门的类中,这样就可以让Client无感于对象Product的创建过程。
