zoukankan      html  css  js  c++  java
  • 责任链模式和观察者模式实现一个简易的架构(一)

    场景描述:

      以金融行业的贷款业务为例,客户提交贷款申请,即进件。系统针对进件需要做一系列处理:保存申请信息、保存客户信息、对客户评分、触发风控检查、埋点、消推等。

    传统编码方式:

      竖向编程方式,就是按照逻辑一步一步执行。这样做的缺点,就是代码耦合度太高。

    使用责任链模式和观察者模式解耦:

      责任链模式:以单向链表为结构,一步一步执行,每一个businessHandlerContext(对应一个businessHandler)为一个执行单元,代码解耦。所有的操作属于一个事务。

      观察者模式:针对需要异步处理的操作,与主流程无关,如埋点、消推等,使用线程池方式异步执行Listener。

    架构设计如下:

    1、从Head开始执行,一直到Tail结束

    2、每一个执行单元对应一个自定义的businessHandler,执行完,需向下传递

    3、在Tail中以线程池的方式异步执行Listener

    总结:将设计模式应用到架构设计中,让我们的系统更加优雅、可靠、稳定、维护性高。

  • 相关阅读:
    StreamBox Ripper 将rm转mp3时候出现g2支持的问题
    网上英语学习资源大整理
    516 find
    怎样使孩子愿意学习
    Oracle日期函数
    Create PR/PO 以后Status的变化
    销售到出仓所经历的表
    UTL_FILE 的用法
    Oracle EBS常用数据表
    我的blog今日开园
  • 原文地址:https://www.cnblogs.com/dushenzi/p/11668023.html
Copyright © 2011-2022 走看看