装饰者模式:包装一个对象,以提供新的行为
状态:封装了基于状态的行为。并使用委托在行为之间切换
迭代器:在对象的集合之间游走,而不暴露集合的实现
外观:简化一群类的接口
策略:封装可以互换的行为,并使用委托来决定要使用哪一个
代理:包装对象,以控制对此对象的访问
工厂方法:由子类决定要创建的具体类是哪一个
适配器:封装对象,并提供不同的接口
观察者:让对象能够在状态改变时被通知
模板方法:由子类决定如何实现一个算法中的步骤
组合:客户用一致的方式处理对象集合和单个对象
单件;确保有且只有一个对象被创建
抽象工厂:允许客户创建对象的家族,而无需指定他们的具体类。
命令:封装请求称为对象。
桥接:不只改变你的实现,也改变你的抽象
builder pattern:封装一个产品的构造过程,并允许按步骤构造
chain of responsibility pattern:让一个以上的对象有机会能够处理某个请求
flyweight pattern;让某个类的一个实例能够用来提供许多虚拟实例。
interpreter pattern:为语言创建解释器
mediator pattern:集合相关对象之间复杂的沟通和控制方式
mementopattern:让对象返回之前的状态
prototype pattern:创建给定类的实例的过程很昂贵货很复杂时
visitor pattern:为一个对象的组合增加新的能力,且封装并不重要时。