责任链模式的应用

一、责任链模式概念

         链是一系列节点的集合,链的各节点可以灵活的拆分重组。当一个请求需要多个对象进行处理,将多个对象串成一个链路,从而避免了请求发送者和接收者之间的耦合关系。请求者不知道是链路上的哪个节点做了处理。

二、优缺点

         优点: 1. 降低了请求发送者和接收者之间的耦合关系

                   2. 把多个判定与条件处理放在各个类中去处理,代码更加清晰,职责明确。                   

         缺点:作为链表,每次执行都从链头开始,全部执行一便,当链路过长影响效率

三、应用场景

         一个请求需要一系列操作去处理的场景。如下单场景,就需要有下单的处理链路,还需要前置与后置链路,校验,回滚。

四、应用类图            

                

            1. commonContext作为公共上下文,可以设置一些公用的参数,T为继承commonContext类的业务上下文,一般设置业务入参,和业务处理状态标记。

            2.   IChain为责任链的接口对象,提供execute方法,执行链路的核心实现方法

           3.   bizChain为实现链路的责任链对象,其中的handlerList为承载链路各节点对象的集合,bizChain实现IChain的execute方法,遍历handlerList执行每一个handler对象的handler方法。

            4.   IHandler为链路节点对象的接口类,提供handler方法,执行每个节点业务逻辑。

            5.   HandlerBeanX为链路每个节点的对象,实现IHandler中handler方法,执行业务节点的业务方法。

            

            


猜你喜欢

转载自blog.csdn.net/u013400939/article/details/80882813