1.适配器--->封装对象,提供不同的接口,以合适新接口的需求
2.单例模式--->确保有且只有一个对象被创建(双重检测的问题)
3.静态工厂--->承担创建对象的一种角色
4.工厂模式--->延迟到子类创建那个类对象
5.抽象工厂--->决定了产品族的诞生
6.代理模式--->隐藏了具体的对象的实现,控制对具体对象的访问
7.模板方法--->父类定义算法的骨架,具体的某些步骤有子类来实现
8.策略模式--->定义了一系列的算法族,这个算法可以互换,使用委托决定使用哪一个
9.外观模式--->为一些类提供接口以方便的使用,原来的类还是可以用的
10.组合模式--->使得单个对象和对象集合处于一致的地位,客户可以一致的使用他们
11.观察者模式--->针对一对多关系,一个对象的改变可以通知到其他的对象
12.状态模式--->封装所有的状态,在状态改变的时候,改变行为
13.装饰者模式--->装饰一个对象,提高新的功能(排列组合的味道)
14.命令模式--->封装请求为对象,请求和执行相互分离
15.迭代器--->遍历集合功能,不暴露实现