责任链模式Chain of Responsibility

完整设计模式目录见: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);
	}
}

猜你喜欢

转载自blog.csdn.net/u013523089/article/details/83001101