26. 23种经典模式

对变化的封装,分离变化。

创建型

 

Abstract Factory

一系列相关对象的创建。不同产品,有相同的系列。

Builder

同样的构建过程可以创建不同的表示

Factory Method(类)

子类进行实例化

Prototype

通过原型实例拷贝创建新对象

Singleton

一个类只有一个实例

结构型

 

Adapter

转换接口

Bridge

抽象的实现分离

Composite

树形,整体和部分一致对待

Decorator

动态添加职责,有本体和装饰器

实例:商品拆单,按商家,按库房,又加入按商品,metric监控等。(注意和责任链的关系)

Facade

子系统提供统一接口。1.了解少。2.子系统易变化

Flyweight

共享细粒度对象,内部状态和外部状态

Proxy

功能一样,更轻量级(懒加载)

行为模式

 

Chain of responsibility

多个对象可以处理同一请求,直到一个对象处理

实例:用户登录,和装饰器最大在的区别是可以Kill。

 

Command

生成命令和执行分离,排除或撤销

Interpreter(解释器)

给定一个语言,并可以解释它。(如正则)

Iterator

访问聚合中的元素,不暴露内部实现

Mediator(中介者)

解除一系列对象的网状结构

Memento(备忘录)

不破坏封装的前提下,保存和恢复对象的状态

Observer

一对多依赖关系,一变多通知

State

不同状态下有不 同形为,把不同行为封闭到不同实现类中,改变状态属性

Strategy

封装算法

template method

算法骨架,子类实现细节

visitor

不改变一系列类,为一系列列添加新操作

 

template method用组合实现就是strategy,骨架也可变就是桥接。

posted on 2013-11-08 15:51  关攀攀  阅读(349)  评论(0)    收藏  举报

导航