设计模式 二

来源:互联网 发布:百度快速排名优化 编辑:程序博客网 时间:2024/05/29 21:34
Iterator——迭代器
Adapter(适配器)————换个包装再度利用
◎ 万事交给子类:
1、Template Method(模板方法)————实际处理就交给子类
2、Factory Method(工厂方法)————建立对象实例交给子类
◎建立对象实例
1、Singleton(单件)————唯一的对象实例
2、Prototype(原型)————复制建立对象实例
3、Builder(生成器)————组合复杂的对象实例
4、Abstract Factory(抽象工厂)————把相关零件组合成产品
◎切割性思考
1、Bridge(桥接)————分成功能层次和实现层次
2、Strategy(策略)————把算法整个换掉
◎一视同仁
1、Composite(组成)————对容器和内容一视同仁
2、Decorator(装饰)————对装饰和内容一视同仁
◎在结构中穿梭来去
1、Visitor(访问者)————在结构中穿梭还同时做事
2、Chain of Responsibility(职责链)————责任转送
◎简单最好
1、Facade(外观)————单一窗口
2、Mediator(中介者)————只要面对一个顾问
◎管理状态
1、Observer(观察者)————通知状态变化
2、Memento(备忘录)————存储状态
3、State(状态)————以类表示状态
◎精简不浪费
1、Flyweight(享元)————有相同的部分就分享,采取精简政策
2、Proxy(代理)————要用在建立
◎用类来表示
1、Command(命令)————将命令写成类
2、Interpreter(解释器)————以类来表达语法规则
Strategy  定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。
Iterator 提供一种方法顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示。

Singleton:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
Factory Method:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。

Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类
Builder:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
Prototype:用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象
Adapter:将一个类的接口转换成客户希望的另外一个接口
Bridge:将抽象部分与实现部分分离,使它们可以独立变化
Composite:将对象组合成树形结构以表示“部分-整体”的层次结构。使客户对单个对象和复合对象的使用具有一致性
Façade:为子系统中的一组接口提供一个一致的界面
Chain of Responsibility:为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求
Command:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化
Observer:定义对象间的一种一对多的依赖关系,以便当一个对象状态发生改变时,所有依赖于它的对象都得到通知并自动刷新
Template Method:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中

原创粉丝点击