在直播app开发过程中,会经常碰到这么一些需求,比如在在主流程执行前,要做一些前置事件,在主流程执行之后,做一些收尾工作。对一些新手程序员,他可能会直接写类似如下的代码 对有一定工作经验的程序员,他可能会用AOP或者用一些设计模式比如模板模式。那我们今天来聊聊下使用spring + spi + aop + 责任链来实现上面的需求 假设直播app开发的主流程只需做一次前置处理和一次后置处理,则伪代码如下 此时我们可以用模板模式或者AOP,这边我们采用AOP。其伪代码如下 如果对这种写法不适应,可以采用@Aspect + @Around方式,效果一个样。 当直播app开发的主流程需要多次前置处理和多次后置处理时,我们的代码可能就变成 此时这些前置处理或者后置处理看起来就像是一条链,于是我们就可以考虑采用一些设计模式比如责任链或者采用管道模式。本示例我们使用责任链模式 1、创建处理器接口 2、创建处理器链 3、业务逻辑和责任链整合 4、创建AOP切面 5、配置切点 6、处理器注入spring 1、编写业务服务 2、编写处理器 一种通过@Component 一种通过SPI 配置SPI...