代理模式(Proxy): 代理一个对象,限制客户端对它的访问
适配器模式(Adapter): 将一个接口转化为另一个接口
实现适配有两种方式:聚合或者继承
Adapter接受ClientInterface接口约束,并代理Business的职责。
简单工厂:一个静态类,依据不同的参数返回不同的实例
工厂方法模式(FactoryMethod):定义一个创建对象的接口,由子类决定创建的具体对象
抽象工厂(AbstractFactory):一个创建对象接口,其实现类生产一组产品对象
构建者模式(Builder):同样的构建过程,依据不同的构建者获取不同的产品实例
合成模式(Composite):单对象和组合对象接口统一,可形成树结构或环结构
单例模式(Singleton):确保目标类有且只有一个实例,并提供一个全局访问点
原型模式(Prototype):复制现有对象获得新对象
迭代模式(Iterator):按照一定顺序访问聚合对象,又不暴漏该对象内部表示
职责链模式(Chain of Responsibility):多个对象处理一个请求,降低请求的发送和接受之间的耦合
模版方法模式(TemplateMethod):定义一个算法骨架,延迟到子类去实现
外观模式(Facade):外部与一个子系统通信必须通过一个统一的对象进行
装饰模式(Decorator):动态给对象添加职责
策略模式(Strategy):算法的责任和算法本身分离,多个策略类去管理多个算法并且都为一个抽象策略类的子类
桥接模式(Bridge):抽象与实现分离,继承由组合替代
观察者模式(Observer):一个对象改变,依赖于它的对象都会得到通知
调停者模式(Mediator):一个对象封装一组对象的交互
享元模式(Flyweight):通过共享技术支持大量细粒度的对象
备忘录模式(Memento):依据对象某些状态保存到该对象之外,以供恢复
状态模式(State):一个对象的内部状态改变时改变它的某些行为
命令模式(Command):将请求封装为一个对象,使请求可参数化
解释器模式(Interpreter):定义一系列组合规则,组合可执行对象
访问者模式(Visitor):不改变类层次的前提下,对该层次结构扩展