Mic*_*ael 3 refactoring design-patterns strategy-pattern
我有一段代码,我开始将策略模式放在适当的位置,如下所示:
IStrategy
StrategyA : IStrategy
StrategyB : IStrategy
StrategyC : IStrategy
Run Code Online (Sandbox Code Playgroud)
界面上只有一个Calculate方法.在实现之后,结果发现所有3种具体类型都具有相同的Calculate方法代码和两个同名的Properties,只是设置了不同的值.
因此,为了删除重复,我使接口成为一个抽象类,并将方法和属性向下移动到那个,只需在具体类型的构造中设置基本属性及其各自的值.
现在我知道模式并不是硬性规定,而是规则,但是我已经从指南中歪曲了这一点,我不禁想到还有另一种我应该关注的模式?
任何人都可以建议任何其他方法,让我这样,很容易添加新的'策略'下线.可能会发现我们需要改变其中一些新案例中的逻辑,所以我怎样才能构建它以便我没有重复的代码,但是有一个灵活的设计可以让我改变一下呢?
谢谢.