zoukankan      html  css  js  c++  java
  • 涉及多厂商对接的兼容性设计

    兼容多厂商对接

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

    优化

    1. 事务内部不能包括RPC和三方调用,可以把数据写入上下文,最后落库时加事务【事务方法一定要跨类调用,且事务所在类一定要基于interface来实现,避免事务失效】。
    2. 业务操作需要考虑幂等:
    • 更新时推荐乐观锁:可基于版本,也可基于字段(看能否容忍ABA问题);
    • 可以基于唯一性主键约束;
    • 某些场景可以考虑加分布式锁;
    1. 流程化的代码考虑用BPM,不做要求,但代码要清晰地表达出主流程,避免大方法;
    2. 方法和变量的命名要做到准确、自描述;方法入参过多则尽量封装为对象;方法返回值可以通过Optional容器处理判空逻辑;
    学习使我充实,分享给我快乐!
  • 相关阅读:
    数据流图和数据流程图的定义与组成元素
    敏捷开发3种角色
    WBS
    开发流程
    结对编程
    笔记
    登录注册界面维护2----注册界面进行Toast提示
    登录注册界面修改错误
    听说
    “学习链接篇”
  • 原文地址:https://www.cnblogs.com/JaxYoun/p/15432335.html
Copyright © 2011-2022 走看看