Java设计模式-责任链模式

应用场景:

        有一些功能是需要经过一系列的步骤来完成,例如发布应用,可能需要先拉取代码,然后再编译构建,生成镜像,推送发布等等,类似这种一个环节一个环节的执行就可以使用责任链模式

实际操作

1:定义一个抽象类

public abstract class BaseHandler {
    
    public abstract void execute();
    
    
    public abstract Integer order();
}

2:有多个实现类


@Component
public class Tip1HandlerImpl extends BaseHandler {
    @Override
    public void execute() {
        //业务逻辑
        System.out.println("Tip1HandlerImpl");
    }



    @Override
    public Integer order() {

        return 1;
    }
}

3:调用

        调用的时候关键在于执行顺序,根据需求,可以提前约定好顺序,也可以根据请求调整顺序

@Autowired
private List<BaseHandler> baseHandlerList ;


//排序 这里执行顺序可以采用不同的方式  
List<BaseHandler> collect = baseHandlerList.stream().sorted(Comparator.comparing(BaseHandler::order)).collect(Collectors.toList());



 baseHandlerList.forEach(BaseHandler::execute);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值