簡體   English   中英

Java中策略模式的簡潔表達

[英]Succinct expression of Strategy Pattern in Java

我想在Java中使用策略模式。 但是,如果我在代碼庫中添加大量文件或編寫冗長的代碼,我的老板就不會喜歡它。 看來,使用策略模式,我必須為一個接口創建一個文件,然后為五個其他文件,以便為五個可能的策略中的每一個都提供一個類。

有沒有辦法用更少的文件和更少的代碼來表達Java中的策略模式?

我認為,如果我的策略變異可以用易於組裝的Enum或Set表示,那將是理想的。

我認為您應該與老板坐下來,向他/她解釋文件少==好代碼。 至少嘗試解釋模式本身,以及如何具有多個類,每個類都有其自己的特定用途,這對於測試,維護等而言更好。

就我個人而言,我發現代碼中包含大量的IF語句,使代碼變得更加冗長,其中包含適當的多態性會使代碼更易於理解的地方。

PS:是的,通過使用匿名子類化構造,枚舉可以具有行為:

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

   public abstract void baz();
}

雖然我不確定,除非您絕對需要,否則我建議您使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM