多币种下单代码设计流程
2022-09-16 13:31:10 0 举报
多币种下单
作者其他创作
大纲/内容
1.适配第一种理解:调用保存地址方法,已经相当于调用RMB下单的保存地址方法2.适配第二种理解:只适配了下单的地址,不需要实现统一下单接口的所有处理流程
第一种工厂:统一的RMB工厂,(包含RMB下单的所有具体模块策略)第二种工厂:具体模块工厂(可以生产RMB策略,USD策略)
比如,RMB访问者下单选用国外快递,则该快递策略选用国外策略,使用USD状态模式,从而改变整个下单流程为USD下单流程,会产生增加新的服务费用模块,后续发票服务等等也会变成USD模式
USD状态改变,增加手续费
USD地址
桥接:策略之间的相互调用,如优惠体系与商品体系间的关系,则可以在优惠体系中引用商品模块的抽象,不用关心商品具体的实现,商品也不用管优惠具体实现,两者互不影响,各自扩展。
RMB
EUR下单流程
RMB发票
创造一个RMB的访问者,指定下单所需模块与各模块子流程类型
具体工厂到抽象工厂的适配
RMB状态改变
访问者工厂
发票策略
两个构建访问者的区别:构建模式可以指定流程顺序
USD状态改变
统一下单接口
原则:能复用,易扩展,灵活思路:上层抽象,实现具体 注意:避免类爆炸,注意继承与实现,以及子类的访问权限与安全
USD下单流程
RMB状态改变,增加快递费
构建访问者
下单流程
USD地址策略
策略
工厂
适配好处:复用统一的处理逻辑,减少代码冗余
RMB工厂
抽象发票方法
1.下单流程封装统一方法,子类具体实现,对外调用统一名称2.下单子流程实现均继承下单模板(不可重写统一方法,权限严格控制)
USD发票
访问接收者
第一种方式:指定访问者,指定具体子流程接受该访问者,则该访问者可访问具体子流程的完整服务第二种方式:指定访问者,访问不同子流程的部分流程
下单门面
下单模板实现统一下单
下单接口,包含下单的所有具体模块的抽象
1.子类流程自主实现访问接收者, 即表示该类流程可以接受访问者访问该流程的所有模块服务2.如果不实现,则只表示该子流程只提供单个模块的流程服务
发票工厂
构建者
可指定下单流程顺序,状态改变会影响流程
RMB下单流程
RMB发票策略2
USD
构建一个RMB的访问者,指定下单所需模块与各模块子流程类型
USD发票策略
地址策略
RMB发票策略
策略为具体算法,即确定的业务逻辑
抽象地址方法
如RMB访问者指定USD地址与EUR发票
RMB地址策略1
RMB发票策略1
EUR访问者
USD构建
USD工厂
抽象商品方法
RMB地址策略2
下单模板方法
RMB地址
下单流程状态
EUR到RMB的适配
USD访问者
可在下单任意流程中改变访问者下单状态,从而改变下单后续流程
RMB地址策略
EUR访问者访问RMB下单流程的地址服务,访问EUR的发票服务
RMB访问者
流程状态
地址工厂
RMB构建
抽象工厂
收藏
0 条评论
下一页