1.名词解释:
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者自己的耦合关系。将这个对象连成一条链,并沿着这条链传递该对象,直到有一个对象处理它为止。
2.代码示例:
处理抽象类
package DesignPattern.DutyChain;
import java.util.HashMap;
public abstract class Handler {
protected Handler successor;
public void setSuccessor(Handler handler) {
this.successor = handler;
}
abstract void handlerRequest(int request);
}
具体处理类一
package DesignPattern.DutyChain;
import java.util.HashMap;
public class ConcreateHandlerFirst extends Handler{
@Override
void handlerRequest(int request) {
// TODO Auto-generated method stub
if(request >= 0 && request <=100) {
//执行具体方法
System.out.println("Do the request First!");
} else if(successor != null){
successor.handlerRequest(request);
}
}
}
具体处理类二
package DesignPattern.DutyChain;
public class ConcreateHandlerSecond extends Handler{
@Override
void handlerRequest(int request) {
// TODO Auto-generated method stub
if(request > 100) {
//执行具体方法
System.out.println("Do the ConcreateHandlerSecond");
} else if(successor != null) {
successor.handlerRequest(request);
}
}
}
客户端
package DesignPattern.DutyChain;
public class Client {
public static void main(String[] args) {
Handler h1 = new ConcreateHandlerFirst();
Handler h2 = new ConcreateHandlerSecond();
h1.setSuccessor(h2);
int[] requests = {1, 200, 100, 400};
for(int i = 0; i < requests.length; i++) {
h1.handlerRequest(requests[i]);
}
}
}
分享到:
相关推荐
职责链模式(ChainOfResponsibilityPattern)是一种行为设计模式,主要目的是通过建立一个处理请求的对象链,使得请求可以在链上的各个对象间传递,直到被某个对象处理。这种模式可以有效地解耦请求发起者和处理者,...
在软件开发领域,设计模式是解决常见问题的模板或最佳实践,它们被广泛应用于构建可扩展、可维护的系统。本项目"设计模式职责链的个人所得税...这样的示例对于学习和理解设计模式,尤其是职责链模式,具有很高的价值。
职责链模式(Chain of Responsibility)让多个对象有机会处理请求,从而避免请求的发送者和接收者之间的耦合。 在实际编程中,理解并灵活运用设计模式能够提升代码质量,增强系统的可扩展性和可维护性。学习设计...
**职责链模式(Chain of Responsibility Pattern)**是一种行为型设计模式,它允许将多个对象串联成一个处理请求的链。在职责链模式中,一个请求沿着处理者链传递,每个对象都有机会处理请求,直到找到合适的处理者...
职责链模式是一种行为设计模式,它允许我们定义一系列对象,这些对象可以按顺序处理请求,形成一条职责链。每个对象都是链上的一个节点,负责处理特定类型的请求或将其传递给链中的下一个对象。这种模式使得我们可以...
《C++20设计模式》学习笔记-第13章职责链模式-配套代码
如策略模式定义了一系列算法,并使它们可以互相替换,观察者模式定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新,职责链模式使得多个对象都有机会处理请求,...
如策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、命令模式(Command)、迭代器模式(Iterator)、访问者模式(Visitor)、备忘录模式(Memento)、状态模式(State)、职责链...
GOF(Gang of Four)设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位专家在他们的著作《设计模式:可复用面向对象软件的基础》中提出,被誉为设计模式的经典之作。本资源包含了GOF设计...
通过学习设计模式,开发者可以提高代码的可读性,减少代码冗余,提升软件的可维护性和可扩展性。设计模式也是面试中常见的考察点,熟练掌握设计模式有助于求职者展示其专业素养。 此外,书中还可能涉及设计原则,如...
责任链模式是一种行为设计模式,它允许我们把请求沿着处理者链进行传递,直到某个处理者处理这个请求。这种模式让请求的发送者和接收者解耦,因为发送者无需知道哪个对象会处理请求,接收者也不知道其他处理者的存在...
文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...
"设计模式学习资料"包含了对设计模式的深入理解和应用方法,旨在帮助开发者提高软件设计的质量和可维护性。设计模式通常分为三类:创建型、结构型和行为型模式。 创建型模式关注对象的创建过程,如单例模式确保一个...
职责链模式是一种设计模式,它允许我们沿着一个对象链来传递请求,每个对象都可以处理请求,也可以将请求传递给链中的下一个对象。这种模式在处理事件流或责任分发时非常有用,它使得代码更加灵活,降低了耦合度。在...
本作业涵盖了多种设计模式,包括结构型、行为型和创建型模式,旨在帮助学习者深入理解和应用这些模式。 1. **外观(Facade)模式**:此模式提供了一个简单的接口,用于与复杂的子系统进行交互。它隐藏了子系统的...
### C++的设计模式学习资料详解 #### 一、引言 设计模式是在软件工程领域内广泛应用的一种编程思想,它能够帮助开发者解决常见的设计问题,并提供一套标准的解决方案。设计模式通常分为三大类:创建型模式、结构型...
行为型模式着重于对象之间的职责分配和交互,包括责任链模式(Chain of Responsibility)、命令模式(Command)、解释器模式(Interpreter)、迭代器模式(Iterator)、备忘录模式(Memento)、观察者模式(Observer...