我有两个c对象,它暴露了一些属性
class A{
prop1,prop2, prop3, producttype
}
class B{
prop10, prop11, prop12, prop13, productype
}
根据产品类型,在运行时,匹配算法将更改。
例子,
if (A.productType =="ABC")
then match this logic, A.prop1 == B.prop10 && A.prop3 == B.prop12
if (A.productType=="DEF")
then match this logic A.pro1 == B.prop11
//and many more
如何编写这样的逻辑干净和可重用有什么设计模式我可以用吗?
最佳答案
看看Strategy Pattern。但是,除非您能够抽象出选择策略的规则,否则您将无法绕过一些if/else
块来选择正确的策略。