type
status
date
slug
summary
tags
category
icon
password
最近第一次接触到责任链模式,以此记录一下。
比如给一个订单的例子,负责订单验证、计算税费、处理支付和发货(前一个未完成不能走下一个)。用这个例子大概可以明白这个责任链模式是怎么样的的。
文件结构建议 一个handler
src/
├── Order.java
├── OrderHandler.java
├── AbstractOrderHandler.java
├── OrderVerifier.java
├── TaxCalculator.java
├── PaymentProcessor.java
├── ShippingHandler.java
└── OrderProcessingChain.java
先定义
顶一下处理器的接口handler
然后是分别的处理器的类 分开到不同的文件
client测试
结果就是上面,意思就是跟着流程的顺序走
为什么需要那个抽象类:
AbstractOrderHandler
在责任链设计模式中起到了桥梁和模板的作用,它提供了默认实现、强制子类实现具体处理逻辑