`
bierbobo
  • 浏览: 20562 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

行为类设计模式(初稿)

 
阅读更多

模板:定义算法结构实现于子类

策略:封装一组算法,可交互

  
备忘:恢复对象的保存状态

状态:对象状态改变时改变行为

解释:定义一种文法,使用解释器进行解释

 

访问:封装对某种数据结构的元素操作,可以定义新的操作

分享到:
评论
4 楼 bierbobo 2012-05-14  
命令:封装调用/操作在对象中
命令模式(Command),将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化, 对请求排队或记录请求日志,以及支持可撤销的操作。
请求者根据客户端的参数信息,创建命令,执行命令。在命令对象中封装接受者。

一、特点:
1、命令模式把发出命令的责任和执行命令的责任分割开
2、使得请求方不必知道接收方的接口以及操作如何被执行

二、使用
发出请求的对象和执行请求的对象解耦
3 楼 bierbobo 2012-05-14  
责任链:处理对象链  ----替换if elseif语句
一、概述
CoR(Chain of Responsibility) 即职责链设计模式:使多个对象都有机会处理请求(Request),
从而避免请求的发送者和接受者之间的耦合关系。
将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
二、组成
纯的责任链:基于抽象类的抽象处理器
--------------只有一个进行处理,抽象出处理能力、处理功能进行处理链的控制。
--------------扩展:创建一条处理链类,进行枚举配置的处理顺序的组装,提供对外链头对请求的处理。

不纯的责任链:基于接口的抽象处理器--------------有多个进行处理,处理能力、处理功能在相应类中。
--------------处理者需要关联下一个处理者和进行处理能力与处理功能的判断。
--------------扩展:创建一条处理链类,进行枚举配置的处理顺序的组装,提供对外链头对请求的处理,具体处理者对无需处理的交给处理链。
三、使用
请求者不知道处理者、对请求多次处理。
2 楼 bierbobo 2012-05-14  
中介:多对多,封装对象交互 

--对于一个任务的两种情况处理(相当于生产者、消费者):
--1、使用同事类来处理逻辑,2、使用中介者来处理逻辑。
1、中介者调用各个消费者,在内部进行业务逻辑处理。----消费者无关联
2、中介者将任务进行下发,有各个消费者自行处理。     ----消费者相互之间有关系如继承
1 楼 bierbobo 2012-05-14  
观察者:
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新

一、一对多,一改多知道
二、jdk默认实现

相关推荐

Global site tag (gtag.js) - Google Analytics