1: 装饰者模式
包装一个对象,已提供新的行为
2: 迭代器模式
访问一个集合,而不暴露集合的实现
3: 策略模式
封装可以相互的行为,并使用委托在行为之间切换
4:代理模式
包装对象,以控制对此对象的访问
5: 工厂模式
由子类决定要创建的具体类是哪一个
6:抽象工厂
运行创建一个家族,而无需指定他们的具体类
7:适配器
封装对象,并提供不同的接口
8:观察者模式
9:单例
只创建一个对象
10:模板方法
由子类决定如何一个算法的步骤