- 浏览: 263189 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (303)
- c (31)
- c++ (16)
- java (18)
- c# (1)
- python (3)
- java web (6)
- oracle (7)
- sqlserver (2)
- mysql (2)
- android (24)
- android系统 (15)
- android多媒体部分 (15)
- android游戏 (12)
- linux (26)
- javaScript (1)
- ajax (1)
- node JS (2)
- html (5)
- apache (3)
- jboss (1)
- weblogic (0)
- 通信协议 (10)
- 云计算 (1)
- 分布式 (5)
- ejb (1)
- webservice (5)
- 设计模式 (16)
- JNI (6)
- swing (13)
- 版本控制 (1)
- UML (1)
- xml (4)
- spring (5)
- hibernate (5)
- struts1 (3)
- struts2 (4)
- ibatis (0)
- tomcat (2)
- 心得体会 (1)
- css (1)
- 嵌入式 (41)
- arm体系结构 (10)
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 设计模式学习笔记十五 strategy 策略设计模式
2012-11-02 21:22 731strategy 策略设计模式 定义一系列算法,把这些算 ... -
java 设计模式学习笔记一 singleton单例
2012-09-08 18:47 693保证在java程序中,一个class类只有一个实例存在 节省 ... -
java 设计模式学习笔记二 工厂模式Factory
2012-09-28 18:03 691工厂模式:factory 工厂模式就相当于创建实例对象的ne ... -
java 设计模式学习笔记三 Builder模式
2012-09-30 23:25 702设计模式 builder 将一个复杂的对象构建与他的表示分离 ... -
java 设计模式学习笔记四 prototype模式
2012-10-01 21:56 657prototype原型模式 用原型实例指定创建对象种类, ... -
java 设计模式学习笔记五Adapter适配器模式
2012-10-02 23:09 647adapter适配器模式 将两个不兼容的类纠合在一起,属于结 ... -
java 设计模式学习笔记六 proxy代理模式
2012-10-03 22:21 729proxy代理模式 为其他对象提供一种代理以控制对这个 ... -
java 设计模式学习笔记七 facade外观模式
2012-10-04 22:44 686facade外观设计模式 为子系统中的一组接口提供一个统一的 ... -
java 设计模式学习笔记八 composite组合模式
2012-10-05 21:38 780composite组合模式 将对象以树形式组织起来和chai ... -
java 设计模式学习笔记九 decorator装饰模式
2012-10-08 23:39 796decorator装饰模式 动态的给一个对象添加一些额外 ... -
java 设计模式学习笔记十 bridge桥模式
2012-10-18 22:04 825bridge桥模式 将抽象和行为划分开来,各自独立但能动态结 ... -
java 设计模式学习笔记十一flyweight享元设计模式
2012-10-19 21:37 622flyweight享元设计模式 避免拥有相同内容的小类的开销 ... -
java 设计模式学习笔记十二 command命令设计模式
2012-10-20 22:06 622command命令设计模式 类似于callback的功能,就 ... -
java 设计模式学习笔记十三 observer设计者模式
2012-10-21 21:59 851observer设计者模式 示例代码如下: /** ... -
java 设计模式学习笔记十四 template模版模式
2012-10-25 21:54 624/** * 模版 * * @time 下午09:58:0 ...
相关推荐
这份"图解java设计模式_学习笔记"是针对Java开发者深入理解和应用设计模式的重要资源。在这里,我们将深入探讨Java设计模式的核心概念、分类以及它们在实际开发中的应用。 设计模式分为三大类:创建型、结构型和...
1. 责任链模式(Chain of Responsibility Pattern):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 2. 迭代器模式(Iterator Pattern):提供一种方法顺序访问一个聚合对象中的各个...
如策略(Strategy)、模板方法(Template Method)、观察者(Observer)、迭代器(Iterator)、访问者(Visitor)、命令(Command)、责任链(Chain of Responsibility)、备忘录(Memento)、状态(State)和解释器...
职责链模式(Chain of Responsibility)让多个对象有机会处理请求,从而避免请求的发送者和接收者之间的耦合。 在实际编程中,理解并灵活运用设计模式能够提升代码质量,增强系统的可扩展性和可维护性。学习设计...
C#设计模式学习笔记是一份详尽的资源,适合任何希望深入了解如何在C#编程中应用设计模式的开发者。这份笔记涵盖了多种设计模式,旨在提升代码的可读性、可维护性和可扩展性,这些都是软件开发中至关重要的要素。 ...
文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...
4. **责任链模式(Chain of Responsibility)**:避免请求的发送者和接收者之间的耦合,将多个处理对象连接成链。 5. **命令模式(Command)**:将请求封装为一个对象,以便使用不同的请求、队列请求或支持可撤销的...
1. 责任链模式(Chain of Responsibility):将请求沿着处理者链传递,直到有对象处理为止。 2. 命令模式(Command):将请求封装为一个对象,以便使用不同的请求、队列请求或支持撤销操作。 3. 解释器模式...
行为型模式关注对象之间的交互和职责分配,包括责任链(Chain of Responsibility)、命令(Command)、解释器(Interpreter)、迭代器(Iterator)、中介者(Mediator)、备忘录(Memento)、观察者(Observer)、...
### 23种设计模式学习笔记 #### 一、软件设计模式的概念与意义 **概念:** 软件设计模式(Software Design Pattern),又称设计模式,是一套被广泛采用、经过整理和分类的代码设计经验总结。它针对软件设计过程中...
"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)是在软件设计领域内广泛应用的一种实践指南,它提供了一系列解决常见问题的方案。设计模式可以被理解为面向对象软件设计的经验总结,是对特定面向对象...
行为型模式如策略(Strategy)、观察者(Observer)和责任链(Chain of Responsibility),关注对象间的行为交互和职责分配。 在Java中,设计模式的应用无处不在。例如,Spring框架大量使用了依赖注入(Dependency ...
行为型模式关注对象之间的职责分配,如策略模式(Strategy)、观察者模式(Observer)和责任链模式(Chain of Responsibility)。策略模式定义了一族算法,将每个算法封装起来,使它们可以互相替换,让算法的变化...
12. **责任链**(Chain of Responsibility):避免将处理请求的责任硬编码到对象中,而是让对象自行决定是否处理请求,以及如何传递请求。 13. **命令**(Command):将请求封装为一个对象,从而使你可用不同的请求...
3. 行为型模式:如策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、迭代器模式(Iterator)、访问者模式(Visitor)、责任链模式(Chain of Responsibility)、命令模式(Command...
例如策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、命令模式(Command)、迭代器模式(Iterator)、访问者模式(Visitor)、备忘录模式(Memento)、状态模式(State)、职责链...
- 责任链模式(Chain of Responsibility):将请求沿链传递,直到某个对象处理它。 - 命令模式(Command):将命令封装为一个对象,以便使用不同的请求、队列请求或支持撤销操作。 - 解释器模式(Interpreter):...