匹配规则在运行时有所不同

时间:2015-06-30 19:45:28

标签: c# algorithm dynamic compare runtime

我有这两个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

如何干净利落地编写这样的逻辑?我可以使用任何设计模式吗?

1 个答案:

答案 0 :(得分:0)

查看Strategy Pattern。但是,除非您可以抽象选择策略的规则,否则您将无法绕过某些if/else块来选择正确的策略。