完整设计模式目录见:https://blog.csdn.net/u013523089/article/details/82852049
责任链模式:存在层级责任关系(省长–>市长–>区长–>旗/县长);每一级可以选择自己处理还是交由下一级处理;客户端需要指定层级关系,可以直接指定从哪个位置开始
比如有如下场景:
层级关系为:father–>husband–>son
两种形式的场景
1.woman要逛街,需要先找father,father接到请求,同意,与father一起去结束
2.woman要逛街,需要先找father,father同意后,找下一级即husband,husband同意后,一起去结束
客户端操作
package com.zhaowd.test.designPattern.chainOfResponsibility责任链模式;
public class Test {
/**
* 责任链模式:层级关系,第一级选择是否自己处理还是交由下一级处理
* 应用也可以是选择,例:根据参数来选择是第几级处理,也可以视为第一级转下一级处理
* @param args
*/
public static void main(String[] args) {
IWoman woman = new Woman("0", "逛街");
Man father = new Father();
Husband husband = new Husband();
father.setNextMan(husband);
father.dealRequest(woman);
}
}