常见设计模式的创建目的:
单例模式(Singleton):确保有且只有一个对象被创建。
抽象工厂模式(Abstract Factory):允许客户创建对象的家族,而无需指定他们的具体类。
工厂方法模式(Factory Method):由子类决定要创建的具体类是哪一个。
装饰者模式(Decorator):包装一个对象,以提供新的行为。
状态模式(State):封装了基于状态的行为,并使用委托在行为之间切换。
迭代器模式(Iterator):在对象的集合之中游走,而不暴露集合的实现。
外观模式(Facade):简化一群类的接口。
策略模式(Strategy):封装可以互换的行为,并使用委托来决定要使用哪一个。
代理模式(Proxy):包装对象,以控制对此对象的访问。
适配器模式(Adapter):封装对象,并提供不同的接口。
观察者模式(Observer):让对象能够在状态改变时被通知。
模板方法模式(Template Method):有子类决定如何实现一个算法中的步骤。
组合模式(Composite):客户用一致的方法处理对象集合和单个对象。
命令模式(Command):封装请求成为对象。