问题上下文
假设在一家银行的风险部门,我们有一个策略(称为'A')来计算客户的风险。这一计算是通过合并一些检查来完成的,例如,如果客户是已婚/未婚、受薪/不受薪等。
这些检查可以是简单而复杂的检查,总体上给了我们客户的风险,因此每个检查都是作为一个类实现的,每个类(Check)都给出了它的决策。
我们还开发了另一种策略(称为“B”),用于A/B测试并行运行。比方说,20%的客户通过这一策略,而不是通过“A”来计算风险。这个策略有很多类似的检查,但也有几个新的检查。
因此,总体情况如下所示。

每个策略的检查列表将从数据库中获取,这样我们就可以有多个策略,并且可以存储所有用于风险计算的策略,我们可以通过注入检查在运行时生成策略A或策略B。构成策略A和B的检查可能是完全不同的,有些不同或很少不同

问题我无法进入低层次的设计,也无法实现它。类结构,或者在读取数据库检查列表之后如何动态地将这些检查注入策略类。
如有任何帮助、提示或链接,将不胜感激。
虽然这里可以提出一种战略模式,但我认为如果战略A和战略B没有共同之处,它就行不通
发布于 2022-01-10 18:49:01
看一看GoF策略模式
例如,对传入数据执行验证的类可以根据数据类型、数据源、用户选择或其他鉴别因素使用策略模式选择验证算法。这些因素直到运行时才知道,并且可能需要执行完全不同的验证。与验证对象分开封装的验证算法(策略)可以用于系统不同区域(甚至不同系统)中的其他验证对象,而无需重复代码。
https://stackoverflow.com/questions/70657342
复制相似问题