责任链模式

本文通过地铁站乘车的场景,详细解析了责任链设计模式的实现原理。通过定义一系列的处理对象,并将其链接成一条链,每个对象负责处理一部分请求,然后将请求传递给链上的下一个对象,直到请求被处理完毕。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

责任链设计模式就是按照链的顺序执行一个个处理方法,链上的每一个任务都持有它后面那个任务的对象引用,在自己这段执行完成之后,调用其后面的处理逻辑。

下面以地铁站乘车的场景来模拟
定义一个Check接口

public interface Check {
	
	public void check();

}

新建一个检查随身物品的类

public class InspectionArticles implements Check {
	
	private Check check;
	
	public InspectionArticles() {
	}

	public InspectionArticles(Check check) {
		this.check = check;
	}

	public void check() {
		System.out.println("正在检查随身物品...");
		if(null != check) {
			check.check();
		}
	}

}

新建一个检查车票的类

public class TicketInspection implements Check {

	private Check check;
	
	public TicketInspection() {
	}

	public TicketInspection(Check check) {
		this.check = check;
	}

	public void check() {
		System.out.println("正在检查车票...");
		if(null != check) {
			check.check();
		}
	}

}

新建一个地铁站的类

public class MetroStation {
	
	public void arrival() {
		TicketInspection ticketInspection = new TicketInspection();
		InspectionArticles inspectionArticles = new InspectionArticles(ticketInspection);
		inspectionArticles.check();
		System.out.println("请步行至站台候车...");
	}

}

新建一个测试类

public class Test {

	public static void main(String[] args) {
		MetroStation metroStation = new MetroStation();
		metroStation.arrival();
	}
	
}

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值