交易链路设计原则&模式问题之中介者(Mediator)方法设计模式是什么,如何解决

简介: 交易链路设计原则&模式问题之中介者(Mediator)方法设计模式是什么,如何解决

问题一:责任链(Chain of Responsibility)方法设计模式是什么?


责任链(Chain of Responsibility)方法设计模式是什么?


参考回答:

责任链是说将请求让队列内的处理器一个个执行,直到找到愿意执行的。

商业能力扩展、域扩展,在执行回收结果的时候,会遍历实现的插件,并结合回收规则,进行及时的熔断。这和责任链的逻辑是类似的。以确认收货打款时“是否跳过通知支付”为例,TMF执行引擎会遍历产品包、App包的实现,找到第一个返回要 true(跳过)的结果时,就会停止执行,整体返回 true。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620452



问题二:策略(Strategy)方法设计模式是什么?


策略(Strategy)方法设计模式是什么?


参考回答:

策略是说完成一个事情有不同的算法,可以进行相关切换。

在逆向退款中,需要支持不同的退款链路,有些需要是担保交易,有些是保证金链路,有些是微信支付,有些是退卡、退资产。为了支持多种出账策略,采用了策略模式,可以通过扩展点定制各种资金策略,同时可以执行单个,也可以执行多个。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620453



问题三:观察者(Observer)方法设计模式是什么?


观察者(Observer)方法设计模式是什么?


参考回答:

观察者模式是说我们通过注册、回掉这样的协作设计,完成变化通知的协作机制。

交易中,系统内部的观察者模式不多见。但是系统间基于消息的观察模式还是很多的。比较典型的有逆向的0s退:通过监听退款创建的消息,进行同意调用,实现了0s退的快速同意功能。通过消息的异步通知方式,既可以较好地进行解耦,也可以在失败时利用消息的重投机制,增加成功的概率。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620454



问题四:状态(State)方法设计模式是什么?


状态(State)方法设计模式是什么?


参考回答:

状态模式是说在不同的状态下,有不同的处理行为。

交易系统中引入了工作流,会定义业务活动可以经历的状态,每个状态可以进行的操作。比如:普通担保准交易流程,就包含:创建外部支付交易、付款回调、创建物流单、发货、确认收货 这些状态节点。每个节点也定义了可以进行什么操作,比如在 创建外部支付交易 这个节点,就可以执行支付校验、关闭订单、修改价格等操作,但是不能进行打款、退款等操作,因为还没有付款。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620455



问题五:中介者(Mediator)方法设计模式是什么?


中介者(Mediator)方法设计模式是什么?


参考回答:

当多个类之间要协调的时候,往往引入中介者进行协调,减少大家的知识成本。

交易系统中的流程执行过程中,会有一个大的上下文,这个上下文会协调各个领域的数据。比较典型的一个场景是,各个编排节点都可能会影响到数据更新,需要有一个地方存起来,然后交给最后的更新节点。这个传送信息的角色往往就落到了上下文这个中介者身上。下面是逆向流程中更新协作的一个大致结构。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620456

相关文章
|
6月前
|
设计模式 Java 数据库连接
【设计模式】【创建型模式】工厂方法模式(Factory Methods)
一、入门 什么是工厂方法模式? 工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定实例化哪个类。工厂方法模式使类的实例化延迟
195 16
|
6月前
|
设计模式 负载均衡 监控
并发设计模式实战系列(2):领导者/追随者模式
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发设计模式实战系列,第二章领导者/追随者(Leader/Followers)模式,废话不多说直接开始~
201 0
|
6月前
|
设计模式 监控 Java
并发设计模式实战系列(1):半同步/半异步模式
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发设计模式实战系列,第一章半同步/半异步(Half-Sync/Half-Async)模式,废话不多说直接开始~
187 0
|
6月前
|
设计模式 安全 Java
并发设计模式实战系列(12):不变模式(Immutable Object)
🌟 大家好,我是摘星!🌟今天为大家带来的是并发设计模式实战系列,第十二章,废话不多说直接开始~
161 0
|
6月前
|
设计模式 算法 Java
设计模式觉醒系列(04)策略模式|简单工厂模式的升级版
本文介绍了简单工厂模式与策略模式的概念及其融合实践。简单工厂模式用于对象创建,通过隐藏实现细节简化代码;策略模式关注行为封装与切换,支持动态替换算法,增强灵活性。两者结合形成“策略工厂”,既简化对象创建又保持低耦合。文章通过支付案例演示了模式的应用,并强调实际开发中应根据需求选择合适的设计模式,避免生搬硬套。最后推荐了JVM调优、并发编程等技术专题,助力开发者提升技能。
|
6月前
|
设计模式 Java 程序员
【设计模式】【行为型模式】中介者模式(Mediator)
一、入门 什么是中介者模式? 中介者模式(Mediator Pattern)是一种行为设计模式,旨在减少对象之间的直接依赖,通过引入一个中介者对象来协调多个对象之间的交互。这种模式特别适用于对象间存在
156 9
|
6月前
|
设计模式 Prometheus 监控
并发设计模式实战系列(20):扇出/扇入模式(Fan-Out/Fan-In)(完结篇)
🌟 大家好,我是摘星!🌟今天为大家带来的是并发设计模式实战系列,第二十章,废话不多说直接开始~
220 0
|
10月前
|
设计模式
「全网最细 + 实战源码案例」设计模式——模式扩展(配置工厂)
该设计通过配置文件和反射机制动态选择具体工厂,减少硬编码依赖,提升系统灵活性和扩展性。配置文件解耦、反射创建对象,新增产品族无需修改客户端代码。示例中,`CoffeeFactory`类加载配置文件并使用反射生成咖啡对象,客户端调用时只需指定名称即可获取对应产品实例。
219 40
|
8月前
|
设计模式 Java 关系型数据库
设计模式:工厂方法模式(Factory Method)
工厂方法模式是一种创建型设计模式,通过将对象的创建延迟到子类实现解耦。其核心是抽象工厂声明工厂方法返回抽象产品,具体工厂重写该方法返回具体产品实例。适用于动态扩展产品类型、复杂创建逻辑和框架设计等场景,如日志记录器、数据库连接池等。优点包括符合开闭原则、解耦客户端与具体产品;缺点是可能增加类数量和复杂度。典型应用如Java集合框架、Spring BeanFactory等。
|
10月前
|
设计模式 关系型数据库
「全网最细 + 实战源码案例」设计模式——工厂方法模式
简单工厂模式是一种创建型设计模式,通过一个工厂类根据传入参数创建不同类型的产品对象,也称“静态工厂方法”模式。其结构包括工厂类、产品接口和具体产品类。适用于创建对象种类较少且调用者无需关心创建细节的场景。优点是封装性强、代码复用性好;缺点是扩展性差,增加新产品时需修改工厂类代码,违反开闭原则。
153 15