我的应用程序将对我的对象有不同的策略。实现它的最佳方法是什么?理想情况下,我想从某个关系数据库动态加载策略实现。不过,我不确定该怎么做。最好的方法是什么?
例如,假设我们想对Strategy123
object应用策略MyObj
:我们只是从数据库中加载对象,使用它的 ID 123
,反序列化它,获取 Strategy 类,并使用它MyObj
。
这种方法在维护方面可能存在一些问题:虽然乍一看听起来更容易,但从长远来看可能会很痛苦,例如,如果策略的界面发生变化。
我还有什么其他解决方案?我想要一个允许我将策略类保留在代码库之外的解决方案,这样如果我的策略发生更改或添加新策略,我就不需要修改代码并重新部署应用程序。