1

我的应用程序将对我的对象有不同的策略。实现它的最佳方法是什么?理想情况下,我想从某个关系数据库动态加载策略实现。不过,我不确定该怎么做。最好的方法是什么?

例如,假设我们想对Strategy123object应用策略MyObj:我们只是从数据库中加载对象,使用它的 ID 123,反序列化它,获取 Strategy 类,并使用它MyObj

这种方法在维护方面可能存在一些问题:虽然乍一看听起来更容易,但从长远来看可能会很痛苦,例如,如果策略的界面发生变化。

我还有什么其他解决方案?我想要一个允许我将策略类保留在代码库之外的解决方案,这样如果我的策略发生更改或添加新策略,我就不需要修改代码并重新部署应用程序。

4

1 回答 1

1

您可以使用Drools之类的规则引擎或Groovy之类的脚本语言来实现该策略,并将它们存储在数据库中。然后,您可以在运行时从数据库中加载这些规则并将其应用于您的对象。

于 2011-02-19T07:32:10.947 回答