接口型模式 | |
把一个类的接口与一个客户的期望接口进行适配 | 适配器模式(Adapter) |
为类的集合提供一个简单的接口 | 外观模式(Facade) |
定义一个接口,使之可以应用于单个对象,也可以应用于对象组 | 合成模式(Composite) |
将一个抽象于其实现进行分离,使之可以相互独立变化 | 桥接模式(Bridge) |
职责型模式 | |
将职责集中到某个类的一个单独实例 | 单件模式(Singleton) |
当一个对象发生改变,依赖于这个对象的其他对象都能够得到通知,而这个发生改变的对象无须了解自己被其他哪些对象使用 | 观察者模式(Observer) |
将职责集中到一个类,这个类可以监视其他对象的交互 | 中介者模式(Mediator) |
令一个对象为其他对象服务 | 代理模式(Proxy) |
允许一个请求使一个对象链向上级传递,直到这个请求被某个对象处理 | 职责链模式(Chain of responsibility) |
将共享的细粒度对象的职责进行几种 | 享元模式(Flyweight) |
构造型模式 | |
在进行对象构造之前,要逐步收集与构造相关的信息 | 生成器模式(Builder) |
如果需要确定对那个类进行初始化,那么就推迟这个确定过程,直到某个合适的时刻再确定 | 工厂方法模式(Factory method) |
构造一族对象,他们需要共享某些特征 | 抽象工厂模式(Abstract factory) |
通过一个给定的实例创建对象 | 原型模式(Prototype) |
基于一个处于休眠状态的对象,重新构造一个对象,这个处于休眠状态的对象仅仅包容了对象的内部状态 | 备忘录模式(Memento) |
操作型模式 | |
在一个方法中实现一个算法,但是,推迟定义算法中的某些计算步骤,从而使子类可以对这些计算步骤进行重新定义 | 模板方法模式(Template method) |
分配一个操作,从而可以使每个类能够表达一个不同的状态 | 状态模式(State) |
封装一个操作,从而可以使操作的实现能够相互进行替换 | 策略模式(Strategy) |
在一个对象中封装一个方法调用 | 命令模式(Command) |
分配一个操作,从而可以使每个实现可以应用于一个不同类型的合成 | 解释器模式(Interpreter) |
扩展型模式 | |
使开发人员可以动态地生成一个对象的行为 | 装饰模式(Decorator) |
提供一种手段,用以顺序地访问一个集合中的元素 | 迭代器模式(Iterator) |
可以使开发人员为一个层次结构定义一个新操作,而不必改变这个层次结构中的类 | 访问者模式(Visitor) |
设计模式的应用场合
最新推荐文章于 2022-12-19 17:13:25 发布