常用模式:
装饰者模式:包装一个对象,以提供新的行为。
状态模式:封装基于状态的行为,并使用委托来切换行为。
迭代器模式:提供一种在对象集合中游走而不暴露集合实现的方式。
外观模式:简化一群类的接口。
策略模式:封装可以互换的行为,并用委托来切换行为。
代理模式:包装对象,以控制对此对象的访问。
工厂方法:子类决定要创建的具体类是哪一个。
适配器模式:包装对象,以提供不同的接口。
观察者模式:允许对象在状态变化时被通知。
模板方法:由子类决定如何实现算法中的步骤。
组合模式:允许客户用一致的方式处理对象集合以及单个对象。
单例模式:确保类有且只有一个对象被创建。
抽象工厂模式:提供一个接口,用于创建相关或依赖的对象(对象家族),而无需指定它们的具体类。
命令模式:将请求封装为对象。
根据"模式的目标"分类:
-
创建型模式:涉及对象实例化,将"客户"与"需要实例化的对象"解耦。
工厂方法。
单例模式。
抽象工厂模式。 -
行为型模式:涉及类和对象的交互与责任分配。
迭代器模式。
策略模式。
状态模式。
观察者模式。
命令模式。
模板方法。 -
结构性模式:组合类或对象,得到更大的结构。
装饰者模式。// 关键点在于动态组合对象,因此不放在行为型中。
外观模式。
代理模式。
适配器模式。
组合模式。