我正在设计一个决策系统,它调用复杂的逻辑,可能需要使用大量嵌套的if/else语句。
我想看看是否有更好的设计模式可以帮助我简化系统结构,并为未来的改进提供一定的可扩展性。
该项目的问题可以简化为:
我们现在需要为一个请求做出决策,该请求具有3种属性,以及可能会增加更多。它们是价格策略(合同/批发/零售/折扣)、请求类型(购买/销售)和产品类型(时尚/家居/玩具)。
每个决策都基于请求的所有3个属性,因为价格策略的类型可能会在未来更改,并且将向决策过程添加更多属性。
因此,我试图避免制作一个大型的switch语句,这样做既难看,也不利于未来的扩展。例如:
switch(ProductType) {
case Fashion:
switch(PricePolicy) {
case Contract:
if(Request == Buy) {
// making a decision.
} else {
}
}
}
}
请分享您的想法和建议,谢谢。
祝福, 鲍勃