繁体   English   中英

使用策略设计模式还是脚本编写特定于用户的逻辑?

[英]Use strategy design pattern vs. scripting for user-specific logic?

我要解决的一般问题是特定方法的代码变得太大,因为特定用户之间的许多逻辑开始大相径庭。 例如,为了确定客户X的最佳运输方式,与确定客户A,B,C的相同事物相比,要考虑许多不同的因素和逻辑。

这似乎是使用策略模式进行重构的不错的选择,但是我想知道是否有很多客户,每个客户可能需要对其逻辑进行特定的调整,所以我是否最好使用脚本语言来封装它逻辑,而不是需要为需要自定义逻辑的客户创建新的策略实现?

我看到您正在使用.Net。

以我的经验,两者都是可能的,使用脚本的唯一问题是必须使用反射,并且在代码中遇到问题时很难调试。

Boo是一种非常易于使用的语言,最好使用Compiler API来确保至少可以编译用户的代码!

对于我来说,如果您想验证/测试用户代码,并且想要面对多种交互(可以更改),我将不使用太多策略,而是使用以下方法:

这样可以避免脚本编写错误并且难以调试的情况。

此外,它还使您的软件可组合和可测试,并且如果用户引入的数据无效,则可以添加以后的日志记录或其他关键组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM