责任链模式(Chain Of Responsibilities)

Posted by Jfson on 2018-06-22

责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。

它有助于构建一系列对象。请求从一端进入并继续从一个对象到另一个对象,直到找到合适的处理程序。

示例:okhttp的连接器。Android 中点击事件的传递。ListNode(链表数据结构)

在面向对象的设计中,责任链模式是一种由命令对象源和一系列处理对象组成的设计模式。每个处理对象都包含定义它可以处理的命令对象类型的逻辑; 其余的传递给链中的下一个处理对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class ListNode{
public int value;
public ListNode next;
public void printValue(int num){
if(num == value){
System.out.print("num");
return;
}
if(next != null){
next.printValue(num);
}
}
}
class Test{
public void main(ListNode node){
node.printValue(3);
}
}

pv UV: