中午休息期间写了篇技术方案:
订单在提交的时候会面临不同的校验规则,不同的校验规则会有不同的处理。假设这个处理就是弹窗。
有的时候会命中规则1,则弹窗1,有的时候同时命中规则1、2、3,但由于存在规则的优先级,则会处理优先级最高的弹窗1。
老的业务背景下,弹窗优先级或者说校验规则是统一的。直接用函数翻译实现,写多个 if 问题不大。
但在新业务背景下,不同的条件,弹窗优先级不一致,之前的写法需要写大量的嵌套判断,代码难以维护。
所以问题抽象为:如何设计一个校验器?责任链设计模式与工厂设计模式的权衡
github.com/FantasticLBP/knowledge-kit/blob/master/Chapter1%20-%20iOS/1.110.md http://t.cn/RpVTFM3
发布于 浙江
