`

java 设计模式学习笔记十六 chain of responsibility 职责链设计模式

阅读更多

chain of responsibility 职责链设计模式
是用一系列的classes处理一个请求,来一个请求,a先处理,如果没有处理,则b 处


理,如果没有处理,则由c处理,这样传递一个请求


示例代码如下:
方式一:=============
/**
* 多个请求
*
* @time 下午11:55:14
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public interface Handler {
// 方式一
// public void hanlderHelp();


// public void hanlderPrint();


// public void hanlderFormat();

}




/**
* 请求接口实现类
*
* @time 下午11:57:00
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class ConcreateHandler implements Handler {
private Handler successor;


public ConcreateHandler(Handler successor) {
this.successor = successor;
}


@Override
public void hanlderHelp() {
successor.hanlderHelp();
}


@Override
public void hanlderPrint() {
successor.hanlderPrint();
}


@Override
public void hanlderFormat() {
successor.hanlderFormat();
}
}






方式二:=====================




/**
*
* @time 下午11:54:25
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public interface HelpHandler {
public void hanlderHelp();
}




/**
*
* @time 下午11:54:25
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public interface FormatHandler {
public void hanlderFormat();
}


/**
*
* @time 下午11:54:25
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public interface PrintHandler {
public void hanlderPrint();
}










/**
* 请求接口实现类
*
* @time 下午11:57:00
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class ConcreateHandler2 implements PrintHandler, HelpHandler,


FormatHandler {
private HelpHandler helpHandlerSuccessor;
private PrintHandler printHandlerSuccessor;
private FormatHandler formatHandlerSuccessor;


public ConcreateHandler2(HelpHandler helpHandlerSuccessor,


PrintHandler printHandlerSuccessor, FormatHandler formatHandlerSuccessor)


{
this.helpHandlerSuccessor = helpHandlerSuccessor;
this.printHandlerSuccessor = printHandlerSuccessor;
this.formatHandlerSuccessor = formatHandlerSuccessor;
}


@Override
public void hanlderFormat() {
this.formatHandlerSuccessor.hanlderFormat();
}


@Override
public void hanlderHelp() {
this.helpHandlerSuccessor.hanlderHelp();
}


@Override
public void hanlderPrint() {
this.printHandlerSuccessor.hanlderPrint();
}


}
方式三:==============


/**
* 请求
*
* @time 上午12:09:00
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Request {
private String type;


public String getType() {
return type;
}


public Request(String type) {
this.type = type;
}


}






/**
* 请求接口实现类
*
* @time 下午11:57:00
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class ConcreateHandler3 implements Handler {


private Handler successor;


public ConcreateHandler3(Handler successor) {
this.successor = successor;
}


@Override
public void handlerRequest(Request request) {
if (request.getType().equals("help")) {
} else if (request.getType().equals("print")) {


} else if (request.getType().equals("format")) {
}
}
}

分享到:
评论

相关推荐

    图解java设计模式_学习笔记_java开发

    这份"图解java设计模式_学习笔记"是针对Java开发者深入理解和应用设计模式的重要资源。在这里,我们将深入探讨Java设计模式的核心概念、分类以及它们在实际开发中的应用。 设计模式分为三大类:创建型、结构型和...

    300Java设计模式部分学习笔记

    1. 责任链模式(Chain of Responsibility Pattern):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 2. 迭代器模式(Iterator Pattern):提供一种方法顺序访问一个聚合对象中的各个...

    图解Java设计模式笔记总结word版本.rar

    如策略(Strategy)、模板方法(Template Method)、观察者(Observer)、迭代器(Iterator)、访问者(Visitor)、命令(Command)、责任链(Chain of Responsibility)、备忘录(Memento)、状态(State)和解释器...

    设计模式之美—学习笔记

    职责链模式(Chain of Responsibility)让多个对象有机会处理请求,从而避免请求的发送者和接收者之间的耦合。 在实际编程中,理解并灵活运用设计模式能够提升代码质量,增强系统的可扩展性和可维护性。学习设计...

    C#设计模式学习笔记

    C#设计模式学习笔记是一份详尽的资源,适合任何希望深入了解如何在C#编程中应用设计模式的开发者。这份笔记涵盖了多种设计模式,旨在提升代码的可读性、可维护性和可扩展性,这些都是软件开发中至关重要的要素。 ...

    23种面向对象设计模式

    文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...

    java23种设计模式,3套视频加1个ppt

    4. **责任链模式(Chain of Responsibility)**:避免请求的发送者和接收者之间的耦合,将多个处理对象连接成链。 5. **命令模式(Command)**:将请求封装为一个对象,以便使用不同的请求、队列请求或支持可撤销的...

    设计模式学习笔记

    1. 责任链模式(Chain of Responsibility):将请求沿着处理者链传递,直到有对象处理为止。 2. 命令模式(Command):将请求封装为一个对象,以便使用不同的请求、队列请求或支持撤销操作。 3. 解释器模式...

    JAVA与模式读书笔记。

    行为型模式关注对象之间的交互和职责分配,包括责任链(Chain of Responsibility)、命令(Command)、解释器(Interpreter)、迭代器(Iterator)、中介者(Mediator)、备忘录(Memento)、观察者(Observer)、...

    23中设计模式学习笔记.docx

    ### 23种设计模式学习笔记 #### 一、软件设计模式的概念与意义 **概念:** 软件设计模式(Software Design Pattern),又称设计模式,是一套被广泛采用、经过整理和分类的代码设计经验总结。它针对软件设计过程中...

    GoF 23种设计模式学习笔记

    "GoF 23种设计模式学习笔记" 是一个深入探讨这23个经典设计模式的资源,这些模式最初由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位作者在1994年的著作《设计模式:可复用面向对象软件的基础》中...

    设计模式 笔记(附带代码)

    6. **责任链模式(Chain of Responsibility)**: 责任链模式是一种行为设计模式,它允许将请求沿着处理者链进行发送,直到某个处理者处理该请求。每个处理者都包含对下一个处理者的引用,可以决定是否处理请求,...

    台湾人写的设计模式笔记

    它们包括:责任链(Chain of Responsibility)、命令(Command)、解释器(Interpreter)、迭代器(Iterator)、中介者(Mediator)、备忘录(Memento)、观察者(Observable/Observer)、状态(State)、策略(Strategy)、模板方法...

    《设计模式》学习笔记

    ### 设计模式学习笔记 #### 引言 设计模式(Design Patterns)是在软件设计领域内广泛应用的一种实践指南,它提供了一系列解决常见问题的方案。设计模式可以被理解为面向对象软件设计的经验总结,是对特定面向对象...

    设计模式总结-java与模式清晰版

    行为型模式如策略(Strategy)、观察者(Observer)和责任链(Chain of Responsibility),关注对象间的行为交互和职责分配。 在Java中,设计模式的应用无处不在。例如,Spring框架大量使用了依赖注入(Dependency ...

    新版设计模式手册-笔记

    行为型模式关注对象之间的职责分配,如策略模式(Strategy)、观察者模式(Observer)和责任链模式(Chain of Responsibility)。策略模式定义了一族算法,将每个算法封装起来,使它们可以互相替换,让算法的变化...

    23个设计模式图解--学习笔记

    12. **责任链**(Chain of Responsibility):避免将处理请求的责任硬编码到对象中,而是让对象自行决定是否处理请求,以及如何传递请求。 13. **命令**(Command):将请求封装为一个对象,从而使你可用不同的请求...

    设计模式的读书总结笔记

    3. 行为型模式:如策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、迭代器模式(Iterator)、访问者模式(Visitor)、责任链模式(Chain of Responsibility)、命令模式(Command...

    Head First 设计模式 扫描版

    例如策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、命令模式(Command)、迭代器模式(Iterator)、访问者模式(Visitor)、备忘录模式(Memento)、状态模式(State)、职责链...

    23种设计模式的解析与Cpp实现

    - 责任链模式(Chain of Responsibility):将请求沿链传递,直到某个对象处理它。 - 命令模式(Command):将命令封装为一个对象,以便使用不同的请求、队列请求或支持撤销操作。 - 解释器模式(Interpreter):...

Global site tag (gtag.js) - Google Analytics