创建型模式
1.单例模式(Singleton) :确保有且只有一个对象被创建
2.工厂方法模式(Factory Method) :由子类决定要创建的具体类是哪一个
3.抽象工厂模式(Abstract Factory) :允许客户创建对象的家族,而无需指定他们的具体类
4.原型模式(Prototype)
5.建造者模式(Builder)
结构型模式
1.适配器模式(Adapter)
2.装饰器模式(Decorator) :包装一个对象,以提供新的行为
3.代理模式(Proxy)
4.外观模式(Facade) :简化一群类的接口
5.桥接模式(Bridge)
6.组合模式(Composite) :客户用一致的方法处理对象集合和单个对象
7.享元模式(Flyweight)
行为型模式
1.策略模式(Strategy) :封装可以互换的行为,并使用委托来决定要使用哪一个
2.模板方法模式(Template Method) :由子类决定如何实现一个算法中的步骤
3.观察者模式(Observer)
4.迭代器模式(Iterator) :在对象的集合之中游走,而不暴露集合的实现
5.责任链模式(Chain of Responsibility)
6.命令模式(Command) :封装请求成为对象
7.备忘录模式(Memento)
8.状态模式(State) :封装了基于状态的行为,并使用委托在行为之间切换
9.访问者模式(Visitor)
10.中介者模式(Mediator)
11.解释器模式(Interpreter)