`
darezhong
  • 浏览: 9313 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

设计模式学习之职责链模式

阅读更多

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)

    职责链模式(ChainOfResponsibilityPattern)是一种行为设计模式,主要目的是通过建立一个处理请求的对象链,使得请求可以在链上的各个对象间传递,直到被某个对象处理。这种模式可以有效地解耦请求发起者和处理者,...

    设计模式职责链的个人所得税系统

    在软件开发领域,设计模式是解决常见问题的模板或最佳实践,它们被广泛应用于构建可扩展、可维护的系统。本项目"设计模式职责链的个人所得税...这样的示例对于学习和理解设计模式,尤其是职责链模式,具有很高的价值。

    设计模式之美—学习笔记

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

    设计模式职责链模式PPT学习教案.pptx

    **职责链模式(Chain of Responsibility Pattern)**是一种行为型设计模式,它允许将多个对象串联成一个处理请求的链。在职责链模式中,一个请求沿着处理者链传递,每个对象都有机会处理请求,直到找到合适的处理者...

    职责链模式PPT带源码

    职责链模式是一种行为设计模式,它允许我们定义一系列对象,这些对象可以按顺序处理请求,形成一条职责链。每个对象都是链上的一个节点,负责处理特定类型的请求或将其传递给链中的下一个对象。这种模式使得我们可以...

    《C++20设计模式》学习笔记-第13章职责链模式-配套代码

    《C++20设计模式》学习笔记-第13章职责链模式-配套代码

    设计模式学习 ppt

    如策略模式定义了一系列算法,并使它们可以互相替换,观察者模式定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新,职责链模式使得多个对象都有机会处理请求,...

    24种设计模式以及混合设计模式

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

    GOF设计模式中英文+设计模式精解中英文

    GOF(Gang of Four)设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位专家在他们的著作《设计模式:可复用面向对象软件的基础》中提出,被誉为设计模式的经典之作。本资源包含了GOF设计...

    深入浅出设计模式(中文版)

    通过学习设计模式,开发者可以提高代码的可读性,减少代码冗余,提升软件的可维护性和可扩展性。设计模式也是面试中常见的考察点,熟练掌握设计模式有助于求职者展示其专业素养。 此外,书中还可能涉及设计原则,如...

    设计模式之责任链模式

    责任链模式是一种行为设计模式,它允许我们把请求沿着处理者链进行传递,直到某个处理者处理这个请求。这种模式让请求的发送者和接收者解耦,因为发送者无需知道哪个对象会处理请求,接收者也不知道其他处理者的存在...

    23种面向对象设计模式

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

    设计模式学习资料

    "设计模式学习资料"包含了对设计模式的深入理解和应用方法,旨在帮助开发者提高软件设计的质量和可维护性。设计模式通常分为三类:创建型、结构型和行为型模式。 创建型模式关注对象的创建过程,如单例模式确保一个...

    职责链模式-基本代码.rar_C#_职责链模式

    职责链模式是一种设计模式,它允许我们沿着一个对象链来传递请求,每个对象都可以处理请求,也可以将请求传递给链中的下一个对象。这种模式在处理事件流或责任分发时非常有用,它使得代码更加灵活,降低了耦合度。在...

    设计模式大作业.zip

    本作业涵盖了多种设计模式,包括结构型、行为型和创建型模式,旨在帮助学习者深入理解和应用这些模式。 1. **外观(Facade)模式**:此模式提供了一个简单的接口,用于与复杂的子系统进行交互。它隐藏了子系统的...

    C++的设计模式学习资料

    ### C++的设计模式学习资料详解 #### 一、引言 设计模式是在软件工程领域内广泛应用的一种编程思想,它能够帮助开发者解决常见的设计问题,并提供一套标准的解决方案。设计模式通常分为三大类:创建型模式、结构型...

    设计模式那点事

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

Global site tag (gtag.js) - Google Analytics