我有一段代码开始实施策略模式,如下所示:
IStrategy
StrategyA : IStrategy
StrategyB : IStrategy
StrategyC : IStrategy
该接口上只有一个 Calculate 方法。实施后,结果证明所有 3 个具体类型的 Calculate 方法代码和两个名称相同的 Properties 都具有相同的代码,只是设置了不同的值。
因此,为了消除重复,我将接口设置为抽象类,并将方法和属性向下移动,只需在具体类型的构造中使用它们各自的值设置基本属性。
现在我知道模式不是硬性规定,只是指导方针,但我已经把它从指导方针中扭曲了,我不禁认为还有另一种模式我应该看看?
任何人都可以建议任何其他方法,让我离开,这样就可以很容易地添加新的“策略”。事实证明,我们需要在其中一些新案例中改变逻辑,那么我该如何构建它,这样我就没有重复的代码,但有一个灵活的设计让我可以改变事情呢?
谢谢。