策略模式:說白了,就是將一組演算法封裝起來,使他們可以互換。
package 策略模式;
public class strategepattern
public static class method01 implements mainmethod
}public static class method02 implements mainmethod
}/**
* 環境角色,持有抽象策略的引用
* @author zouxiang
* */
public static class context
public void execmethod() }
/*** 結合簡單工廠模式,將子類例項化交給工廠
* @author administrator
* */
public static class contextfactory
} public void execmethod()
} /**
* 測試
* @param args
*/public static void main(string args)
}
結果:
method01's method
method02's method
method01's method
method02's method
策略模式好處:
1,恰當使用繼承可以把公共的**移到父類裡面,從而避免**重複。
2,使用策略模式可以避免使用多重條件(if-else)語句。
策略模式劣勢:
1,策略模式只適用於客戶端知道演算法或行為的情況。
2,由於策略模式把每個具體的策略實現都單獨封裝成為類,如果備選的策略很多的話,那麼物件的數目就會很可觀。
設計模式 建立型模式 原型模式
1 原型模式 prototype模式 是指 用原型例項指定建立物件的種類,並且通過拷貝這些原型,建立新的物件 2 原型模式是一種建立型設計模式,允許乙個物件再建立另外乙個可定製的物件,無需知道如何建立的細節 3 工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型...
設計模式 建立型模式
建立型模式 與物件的建立有關。1 簡單工廠模式 靜態工廠 簡單工廠關聯具體類,通過簡單工廠來建立具體的類。封裝變化到簡單工廠裡面去。工廠類 具體類 2 工廠模式 抽象工廠 具體工廠 具體類 要是新增新的類,只需要擴充套件就可以了。他們對外的行為是一致的。3 抽象工廠 抽象工廠 具體工廠 具體類 具體...
設計模式 建立型模式
建立型模式 工廠方法 核心 客戶端呼叫具體的工廠,讓工廠去決定例項化哪個具體的類。核心 為工廠類建立對應的具體的類,表現為和對應的具體類的依賴關係。抽象工廠類 inte ce productfactory 具體a工廠 class concreteproductfactorya productfact...