【设计模式】—— 职责链模式ChainOfResponsibility
2014-11-03 21:34
711 查看
前言:【模式总览】——————————by xingoo
因此,请求也就意味着有可能丢失,或者说没有确切的安全保障。
2 增强指派职责的灵活性
3 不保证被接受
View Code
运行结果
模式意图
避免请求的发送者,和接受者过度的耦合在一起。一个请求者只需要发送一个请求即可,它的请求具体由后面哪个对象进行响应,并不需要关心。而请求的接受者可以自己处理它,也可以把它像链条一样向后传。因此,请求也就意味着有可能丢失,或者说没有确切的安全保障。
应用场景
1 降低耦合度2 增强指派职责的灵活性
3 不保证被接受
模式结构
package com.xingoo; abstract class Handler{ protected Handler successor; public abstract void handleRequest(); public Handler getSuccessor() { return successor; } public void setSuccesor(Handler successor) { this.successor = successor; } } class ConcreteHandler extends Handler{ public void handleRequest(){ if(getSuccessor() != null){ System.out.println("getSuccessor !"); getSuccessor().handleRequest(); }else{ System.out.println("handle in this! request()!"); } } } public class Client { public static void main(String[] args) { Handler handle1,handle2,handle3; handle1 = new ConcreteHandler(); handle2 = new ConcreteHandler(); handle3 = new ConcreteHandler(); handle1.setSuccesor(handle2); handle2.setSuccesor(handle3); handle1.handleRequest(); } }
View Code
运行结果
getSuccessor ! getSuccessor ! handle in this! request()!
相关文章推荐
- JAVA设计模式之 职责链模式【Chain of Responsibility Pattern】
- [php]php设计模式 Chain Of Responsibility (职责链模式)
- php设计模式 Chain Of Responsibility (职责链模式)
- "围观"设计模式(22)--行为型之职责链模式(Chain Of Responsibility Pattern)
- 15.Javascript设计模式之职责链模式----Chain of Responsibility
- 深入浅出设计模式——职责链模式(Chain of Responsibility Pattern)
- 设计模式----Chain of Responsibility(职责链)模式
- 设计模式 职责链模式(Chain of Responsibility Pattern)
- 设计模式入门之职责链模式Chain Of Responsibility
- [设计模式学习笔记]CHAIN OF RESPONSIBILITY(职责链)
- 设计模式笔记18:职责链模式(Chain of Responsibility Pattern)
- 设计模式14:Chain of Responsibility Pattern (职责链模式)
- 设计模式——职责链你模式(Chain of Responsibility)
- C#设计模式——职责链模式(Chain Of Responsibility Pattern)
- 步步为营 .NET 设计模式学习笔记 十九、Chain of Responsibility(职责链模式)
- C#设计模式——职责链模式(Chain Of Responsibility Pattern)
- 设计模式之职责链模式(ChainOfResponsibilityPattern)
- 步步为营 .NET 设计模式学习笔记 十九、Chain of Responsibility(职责链模式)
- 设计模式13 - 职责链Chain-Of-Responsibility
- .NET设计模式(23): 职责链模式(Chain of Responsibility Pattern)