首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是复杂决策系统的正确设计模式

什么是复杂决策系统的正确设计模式
EN

Stack Overflow用户
提问于 2010-11-13 02:27:19
回答 3查看 2.1K关注 0票数 4

我正在设计一个调用复杂逻辑的决策系统,我可能需要使用很多嵌套的if/else语句,

我想看看是否有更好的设计模式,可以帮助我简化系统的结构,并为未来的改进提供一定的可扩展性。

这个项目的问题可以简化为:

它们是PricePolicy (合同/批发/零售/折扣),RequestType (买卖)和ProductType (时尚/家庭/玩具)。

每个决策都基于请求的全部3个属性,因为未来价格策略的类型可能会发生变化,并且会在决策过程中添加更多的属性。

例如:

代码语言:javascript
复制
switch(ProductType) {
 case Fashion:
   switch(PricePolicy) {
     case Contract:
       if(Request == Buy) {
         // making a decision.
       } else {
       }
     }
   }
}

请分享你的想法和建议谢谢。

干杯,鲍勃

EN

回答 3

Stack Overflow用户

发布于 2010-11-13 02:29:32

也许你想要一个Rete规则引擎。试试Drools。

或者数据驱动的决策表。

如果你想要一个类解决方案,可以考虑多态性。用Strategy或Visitor之类的类替换所有这些if/then/else。

关键是稳定的接口。如果你能保持它的稳定性,并改变底层的实现,你就成功了。

票数 6
EN

Stack Overflow用户

发布于 2010-11-13 02:32:45

使用n维数组,并以这种方式查找/查询/修改您的决策。

票数 0
EN

Stack Overflow用户

发布于 2010-11-13 02:40:13

正如ziplin建议的那样,如果每个组合都有一个决定,我会考虑3d数组(即。不是决策的“稀疏”分布--我认为这是正确的术语)。这将要求您能够将决策逻辑封装在可存储在数组中的表达式中。对于稀疏分布,邻接列表可以以类似的方式使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4167835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档