涉及多厂商对接的兼容性设计

兼容多厂商对接

  1. 数据模型抽象:针对业务场景,充分解构,提取出领域模型,能灵活地覆盖各种厂商。
  2. 程序结构抽象:归纳不同厂商的对接方式,沉淀出重叠的逻辑,形成可复用部分,将这块逻辑下沉到平台;对于各厂商的差异部分,需在平台预留SPI扩展点,厂商各自实现,利用策略模式,利用数据标识来动态选择具体的执行策略。

优化

  1. 事务内部不能包括RPC和三方调用,可以把数据写入上下文,最后落库时加事务【事务方法一定要跨类调用,且事务所在类一定要基于interface来实现,避免事务失效】。
  2. 业务操作需要考虑幂等:
  • 更新时推荐乐观锁:可基于版本,也可基于字段(看能否容忍ABA问题);
  • 可以基于唯一性主键约束;
  • 某些场景可以考虑加分布式锁;
  1. 流程化的代码考虑用BPM,不做要求,但代码要清晰地表达出主流程,避免大方法;
  2. 方法和变量的命名要做到准确、自描述;方法入参过多则尽量封装为对象;方法返回值可以通过Optional容器处理判空逻辑;
posted @ 2021-10-21 10:49  JaxYoun  阅读(177)  评论(0编辑  收藏  举报