`
madbluesky
  • 浏览: 83026 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初学责任链模式

    博客分类:
  • java
阅读更多

初学设计模式,写的一个责任链模式,请大家看看有没什么问题啊.

    由于是初学,对设计模式的理解不深,多多指教.

import java.util.*;
//业务处理者借口
interface Transactor {
	boolean deal(long money);
}

//业务处理者链
class Transactors { 
	List<Transactor> transactors;
	//把业务处理者注册到业务处理链
	public void regist(Transactor transactor) {
		if( transactors == null ){
			transactors = new ArrayList();
		}
		transactors.add(transactor);
	}

	public boolean deal(long money) {
		for(Transactor tra : transactors) {
			if(tra.deal(money)) {//遍历所有业务处理者,找到能处理的就返回.
				return true;
			}
		}
		return false;
	}
}

//经理 资金大于等于1万的由经理处理
class Manager implements Transactor {
	public	boolean deal(long money) {
		if(money >= 10000) {
			System.out.println("大于1w 块的业务由 manager 处理");
			return true;
		}
		return false;
	}
}

//业务员 资金少于1万的由业务员处理
class Oprator implements Transactor {
	public 	boolean deal(long money) {
		if(money < 10000) {
			System.out.println("小于1w 块的业务由 Oprator 处理");
			return true;
		}
		return false;
	}
}

public class PossibilityChainTest {
	public static void main(String[] args) {
		Transactors transactors = new Transactors();
		transactors.regist(new Manager());//产生经理并注册到业务处理者链
		transactors.regist(new Oprator());//产生业务员并注册到业务处理者链
		transactors.deal(100000l);		
	}
}

 

分享到:
评论

相关推荐

    基于Java工厂、装饰者、策略、责任链模式的办公座椅销售系统

    利用工厂模式、装饰者模式、策略模式、责任链模式进行设计与实现。工厂模式完成办公椅不同种类的生成,装饰者模式完成给办公椅添加配件,策略模式完成不同打折算法的自动更替,责任链模式以及反射机制完成不同职位...

    模式完整实例总结,适合初学

    - 责任链模式:避免将请求的发送者和接收者耦合在一起,而是将多个处理者链接在一起,形成链式处理。 - 命令模式:将请求封装为一个对象,以便使用不同的请求、队列或者日志请求,也可以支持可撤销的操作。 - ...

    go语言设计模式

    行为型设计模式,如责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式等,则展示了如何更好地管理对象间的职责与交互。 在书籍的编排方式上,...

    易学设计模式

    3. **行为型模式**:这类模式主要关注对象之间的责任分配,包括策略模式、模板方法模式、观察者模式、迭代器模式、命令模式、备忘录模式、状态模式、访问者模式、解释器模式和职责链模式。策略模式定义了算法族,使...

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

    行为型模式则关注对象之间的交互和职责分配,例如策略模式、观察者模式、责任链模式等。 GOF设计模式包括23种经典模式,每一种都有其特定的应用场景和解决的问题。例如,单例模式确保一个类只有一个实例并提供全局...

    适合于初学者的关于Java的设计模式教程.zip

    15. 责任链模式(Chain of Responsibility):避免将请求的发送者和接收者耦合在一起,让多个对象都有可能处理这个请求,将这些对象连接成一条链,请求沿着链传递,直到被某个对象处理。 学习这些设计模式不仅可以...

    JavaScript 设计模式(高清扫描版本)- 张容铭

    3. 行为型模式:这些模式关注对象之间的交互和职责分配,包括责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。在JavaScript中...

    Introduction.rar

    GOF(23种设计模式代码实列,主要用于初学者)分为三大类: ...行为模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

    刘伟设计模式和例子

    3. 行为型模式:包括策略模式、模板方法模式、观察者模式、迭代器模式、命令模式、责任链模式、备忘录模式、状态模式、访问者模式和解释器模式。行为型模式主要处理对象之间的交互和职责分配,使代码更具灵活性和可...

    设计模式演示代码

    压缩包中包含了观察者模式,责任链模式以及包裹模式三个重要的设计模式的演示代码,是用java写的。非常适合初学设计模式的人学习,因为大多数的人学习设计模式只是停留在理论阶段,但是实际上需要自己去写出具体的...

    设计模式讲义 李建忠 侯捷

    除此之外,讲义可能还会涵盖模板方法模式、访问者模式、观察者模式、迭代器模式、状态模式、策略模式、职责链模式、命令模式等其他经典设计模式,以及如何在实际项目中选择和应用这些模式的策略。 通过学习《设计...

    c#设计模式`很好的书啊

    接着,书中会详细讲解各种常见的设计模式,包括创建型模式(如单例模式、工厂模式、抽象工厂模式等)、结构型模式(如适配器模式、代理模式、装饰器模式等)以及行为型模式(如观察者模式、策略模式、职责链模式等)...

    深入浅出设计模式(HEAD_FIRST设计模式)电子书+java代码

    行为型设计模式包括策略模式、模板方法模式、观察者模式、责任链模式、命令模式、解释器模式、迭代器模式、备忘录模式、状态模式、访问者模式和模态模式。这些模式关注对象之间的交互和职责分配,如策略模式允许在...

    ActionScript 3.0设计模式源码

    3. **行为型模式**:这类模式关注对象间的交互和职责分配,例如策略模式、模板方法模式、观察者模式、责任链模式、迭代器模式、命令模式和备忘录模式。策略模式定义了一系列算法,并使它们可以相互替换,让算法独立...

    图解Java设计模式.zip

    3. **行为型设计模式**:这类模式主要涉及对象之间的责任分配,包括策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、解释器模式和状态模式。如观察者模式定义了对象间的一种一...

    设计模式中文版

    3. 行为型模式:主要涉及对象间职责分配和通信,包括策略模式、模板方法模式、观察者模式、命令模式、迭代器模式、访问者模式、责任链模式、备忘录模式和解释器模式。这些模式有助于设计出灵活、可扩展的系统,使得...

    设计模式学习 ppt

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

    CC++与设计模式基础课程-讲义

    行为型模式关心类或对象怎样交互和怎样分配职责,包括模板方法模式、命令模式、责任链模式等。 在实战应用中,需要选择合适的设计模式来解决问题。学习设计模式的方法包括积累案例、大量背类图、多思考、多梳理、...

    设计模式 java 下载

    行为型模式主要处理对象之间的责任分配,包括命令模式、解释器模式、迭代器模式、访问者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和职责链模式。这些模式有助于我们更好地理解和管理对象间的...

    JAVA 23种设计模式(全).Design Pattern_Java模式

    包括策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、迭代器模式(Iterator)、访问者模式(Visitor)、责任链模式(Chain of Responsibility)、命令模式(Command)、备忘录模式...

Global site tag (gtag.js) - Google Analytics