[英]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.