Unix_Kernel
23-09-13 18:42 微博认证:超话主持人(工程师与猫超话)

中午休息期间写了篇技术方案:

订单在提交的时候会面临不同的校验规则,不同的校验规则会有不同的处理。假设这个处理就是弹窗。

有的时候会命中规则1,则弹窗1,有的时候同时命中规则1、2、3,但由于存在规则的优先级,则会处理优先级最高的弹窗1。

老的业务背景下,弹窗优先级或者说校验规则是统一的。直接用函数翻译实现,写多个 if 问题不大。

但在新业务背景下,不同的条件,弹窗优先级不一致,之前的写法需要写大量的嵌套判断,代码难以维护。

所以问题抽象为:如何设计一个校验器?责任链设计模式与工厂设计模式的权衡

github.com/FantasticLBP/knowledge-kit/blob/master/Chapter1%20-%20iOS/1.110.md http://t.cn/RpVTFM3

发布于 浙江