装饰者模式:包装一个物件,以提供新的行为。

适配器模式:封装物件,并提供不同的界面。

模板方法模式:由子类决定如何实现一个算法中的步骤。

工厂方法模式:由子类决定要创建哪个类别的实体。

单件模式:确保有且只有一个物件被创造。

策略模式:封装可以互换的行为,并使用委托来决定要使用哪一个。

组合模式:客户用一致的方式处理物件集合和类别物件。

状态模式:封装了基于状态的行为,并使用委托在行为之间切换。

迭代器模式:在物件的集合之中游走,而不是暴露集合的实现。

外观模式:简化一群类的界面。

抽象工厂方法:允许客户创建物件的家族,而无需指定他们的具体类。

观察者模式:让物件能够在状态改变时被通知。

代理模式:包装物件,以控制该物件的访问。

命令模式:封装请求成为物件。