
文章插图
二、配置设计要求上文我们了解了在给什么在做配置,那么一个好的配置应该满足什么条件呢?
第一:配置逻辑自洽
1、根据输入物属性识配自己的规则时,规则之间不能相互冲突;
我们拿商品价格策略配置举例:

文章插图
当我们识别商品的价格属性去适配规则时,我们应使用MECE分析法,按照完全穷尽,相互独立的原则,将属性的枚举值整理出来,当无法完全穷尽时,应设置默认规则;
2、配置与配置之间不能互相冲突;
我们仍拿商品价格策略配置举例:通过识别商品的价格、所属平台、所属门店等属性去适配规则时,可能会出现同一个商品同时满足多个配置的情况;

文章插图
这种情况下,我们需要先判断多个配置是否可以叠加:
可以叠加:当对实体类进行配置设计时,一般策略是可以叠加的 。在这种情况下,可以增加配置叠加规则,如设置上限\下限:加价策略都是以输入的原价为基准进行加价,累次加价不能超过原价的8%
不可以叠加:需要增加策略冲突时的应用规则
- 应用最新的配置:适用最后更新的配置;
- 指定策略优先级:为配置分配优先级,在配置不可叠加时,选择优先级最高的生效;
第三:配置影响的前后数据对应:如果配置影响的是实体类的修改,则应在数据库中记录时,需记录数据原值和配置影响后的数据,不应在同一个字段,用配置影响后的数据直接覆盖原数据 。实体类的新增则不需要;
第四:高拓展性:系统的能力建设是持续的,配置的设计可以延续标准的工作流程不断拓展新增;
第五:配置规则可理解:需要提供必要的功能指引,配置规则的入口和操作方式需要符合用户的认知;
第六:不同维度的继承关系清晰:在不同维度设计同一个配置时,需要理清楚是否要继承父辈维度的配置,一般要支持可配置是否要继承继承父辈维度的配置,以免造成修改此维度的配置后,又因为继承了父辈维度的配置,导致修改配置不生效;
三、确定配置管理的维度我们发现,存在配置需要对输入物的多个属性进行识别以决定应用哪个规则的情况,那么我们配置的维度如何设计呢?

文章插图
当我们只有一项配置时,我们当然可以如下设计:
但是如果我们每次新增一个配置,就长出一个新页面,很快就会发现:
用户操作成本高,需要从大量的配置中,找到对应的配置进行操作;
配置设计拓展困难,每次新增配置,就要做一个新的页面;
这时,我们可以查看一下系统的领域模型,找到输入物的共同属性,来组织配置功能的架构:

文章插图
这时我们发现,虽然输入物繁多,业务场景各不相同,但是他们都有一个共同的父类:渠道店铺 。如果此时,渠道店铺作为输入物的一个属性,参与配置规则生效的匹配,则可以将渠道店铺这个属性抽离出来,作为配置管理的维度,如:
- 今年到哪旅游最合适?
- 破坏力最强的台风是几级 世界上破坏力最大的台风是几级
- 世界最强台风前十名是什么 地球上最强台风排名前十位
- 世界上最可怕的台风是什么 地球上最恐怖的台风是哪次
- 世界卫生组织的研究报告显示,我国青少年近视率居世界第一。对此你怎么看?
- 世界有非常多的诡异事件。有些经历过,有些看到过,但是无法用科学解释,是真是假?
- 青春期的常见心理问题有哪些?
- 新冠爆发快两年了,如果再持续下去,世界上哪个国家最危险?
- 关于认清生命相貌的故事
- 基督教忌讳什么,如何避免
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
