使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条链,沿着这条链传递该请求,直到有一个对象处理它为止
Handler.java
package com.gary.designpattern.cor;
/**
* 处理请求的接口
* @author gary
*
*/
public abstract class Handler {
protected Handler handler;
public void setHandler(Handler handler){
this.handler = handler;
}
//处理请求的抽象方法
public abstract void handle(char data);
}
NumberHandler.java
package com.gary.designpattern.cor;
/**
* 处理数字
* @author gary
*
*/
public class NumberHandler extends Handler {
@Override
public void handle(char data) {
if(data >= '0' && data <= '9'){
System.out.println("数字");
}
//不能处理,向下一级传递请求
else if(handler != null){
handler.handle(data);
}
}
}
LetterHandler.java
package com.gary.designpattern.cor;
/**
* 处理字母
* @author gary
*
*/
public class LetterHandler extends Handler {
@Override
public void handle(char data) {
if((data >= 'A' && data <= 'Z') || (data >= 'a' && data <= 'z')){
System.out.println("字母");
}
//不能处理,向下一级传递请求
else if(handler != null){
handler.handle(data);
}
}
}
DefaultHandler.java
package com.gary.designpattern.cor;
/**
* 处理其他字符
* @author gary
*
*/
public class DefaultHandler extends Handler {
@Override
public void handle(char data) {
System.out.println("其它");
}
}
Test.java
package com.gary.designpattern.cor;
/**
* 测试
* @author gary
*
*/
public class Test {
public static void main(String[] args) {
Handler numberHandler = new NumberHandler();
Handler letterHandler = new LetterHandler();
Handler defaultHandler = new DefaultHandler();
numberHandler.setHandler(letterHandler);
letterHandler.setHandler(defaultHandler);
numberHandler.handle('3');
System.out.println("=======split======");
numberHandler.handle('g');
System.out.println("=======split======");
numberHandler.handle('.');
}
}
- 大小: 54.9 KB
分享到:
相关推荐
**Chain of Responsibility模式详解** Chain of Responsibility模式是GOF(GoF,Gang of Four)在他们的经典著作《设计模式:可复用面向对象软件的基础》中提出的23种设计模式之一,属于行为模式类别。这个模式的...
C#面向对象设计模式 Chain of Responsibility 职责链模式 视频讲座下载
C#面向对象设计模式 (行为型模式) Chain Of Responsibility 职责链模式 视频讲座下载
责任链模式(Chain of Responsibility,CoR)是一种行为设计模式,它允许将请求沿着处理者对象的链式结构进行传递,直到某个对象处理这个请求。每个处理者对象都包含对下一个处理者的引用,如果当前处理者无法处理...
责任链模式(Chain of Responsibility Pattern)是一种常见的行为模式。 使多个对象都有处理请求的机会,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象串成一条链,并沿着这条链一直传递该请求,直到有...
责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许将请求的发送者和接收者解耦。通过将请求沿着处理链传递,直到有对象处理该请求为止,这种模式避免了请求发送者与具体处理者之间的紧...
责任链模式(Chain of Responsibility)是一种行为设计模式,它允许将请求沿着处理者对象的链进行传递,直到某个对象能够处理这个请求。这种模式的主要优点是解耦了发送者和接收者之间的关系,使得系统更加灵活,...
职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求的发送者和接收者解耦,使得多个对象都有可能处理一个请求,而无需显式指定接收者。在这个模式中,请求沿着一个处理者链进行传递,...
职责链模式(Chain of Responsibility)是一种行为型设计模式,它允许将请求沿着处理者对象的链进行传递,直到某个对象能够处理这个请求。在C#中,职责链模式的应用可以帮助我们构建灵活、可扩展的系统,减少对象...
### C#面向对象设计模式纵横谈(14):Chain of Responsibility 职责链模式(行为型模式) #### 概述 在本篇文章中,我们将深入探讨C#中的Chain of Responsibility(职责链)模式,这是行为型设计模式的一种。虽然标题...
职责链模式(Chain of Responsibility)是一种行为型设计模式,它允许你将请求沿着处理者对象的链进行传递,直到某个对象处理该请求。在C#编程中,职责链模式能够帮助我们实现一种松耦合的架构,使得请求的发送者和...
1. **Chain of Responsibility模式**:Commons Chain 是对Chain of Responsibility设计模式的一个实现。在这个模式中,多个对象形成一个链,每个对象都可以处理请求,或者将请求传递给链上的下一个对象。这种模式...
**Java设计模式——责任链(Chain of Responsibility)** 在软件工程中,设计模式是一种解决常见问题的可重用解决方案。责任链模式是行为设计模式之一,它的主要思想是将请求的发送者和接收者解耦,通过将多个处理...
责任链(Chain of Responsibility)模式是一种行为设计模式,它允许我们向对象链中传递请求,让每个对象决定是否处理这个请求。在Java中,这种模式常用于事件处理、日志系统或者权限控制等场景,其核心思想是将处理...
Chain of Responsibility模式是一种行为模式,旨在解决多个对象都有机会处理请求的问题。该模式可以将多个对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。该模式可以避免请求的发送者和接收者...
Chain of Responsibility模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 - **应用场景**:有多个对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。 - **优点**:...
NULL 博文链接:https://linkcqu.iteye.com/blog/355806
Chain of Responsibility模式提供更松的耦合。它让你通过一条候选对象链隐式的向一个对象发送请求。根据运行时刻情况任一候选者都可以响应相应的请求。候选者的数目是任意的,你可以在运行时刻决定哪些候选者参与到...