0

我想在 Java 中使用策略模式。但是,如果我将大量文件添加到代码库或编写冗长的代码,我的老板不喜欢它。似乎使用策略模式,我必须为接口创建一个文件,然后再创建五个附加文件,这样我就可以为我的五个可能策略中的每一个创建一个类。

有没有办法用更少的文件和更少的代码来表达 Java 中的策略模式?

我认为如果我的策略变体可以在一个 Enum 或一个易于组装的 Set 上表示,那将是理想的。

4

1 回答 1

1

我认为你应该和你的老板坐下来,向他/她解释更少的文件!= 好的代码。至少尝试解释模式本身以及如何拥有多个类,每个类都有自己的特定目的,以便更好地进行测试、维护等......

就我个人而言,我发现代码更冗长,大量的 IF 语句散布在适当的多态性会使代码更容易理解的地方。

PS:是的,枚举可以通过使用匿名子类构造来产生行为:

public enum Foo {
   BAR() {
     public void baz() { ... }
   };

   public abstract void baz();
}

虽然我不确定我是否会推荐使用它,除非你绝对必须这样做。

于 2012-07-25T21:56:05.630 回答