yehao
发布于 2023-11-29 / 21 阅读
3
0

业务解耦方案的不同方法

业务解耦方案的不同方法

假设对象中的pay方法,支付前后需要有不同的业务操作。

面相对象的继承

添加扩展点 

  • pay()

  • beforePay()

  • afterPay()

实现类可以对扩展点 before、after进行扩展,扩展点与业务逻辑耦合。

对于同一类,不同实现方式的业务可以根据扩展点扩展实现方式。

同业务:不同实现

面相切面AOP编程

常用于抽离公共业务:事务、日志、安全校验等。

跨业务:公共业务的实现。

事件发布

将业务关注点分离,当前业务处理状态发布时间,不同业务监听到不同事件处理不同业务需求。

跨业务:复杂业务的扩展。


评论