小A:“策略模式應該怎麼去應用它?”
大B:“1、如果在一個係統裏麵有許多類,它們之間的區別僅在於它們的行為,那麼使用策略模式可以動態的讓一個對象在許多行為中選擇一種行為。2、如果係統需要動態地在幾種算法中選擇一種。那麼這些算法可以包裝到一個個的具體算法類裏麵,而這些算法類都是一個抽象算法類的子類。3、一個係統的算法使用的數據不可以讓客戶端知道。策略模式可以避免讓客戶端涉及到不必要接觸到的複發的和隻與算法有關的數據。”
使用案例:
代碼例子
1、抽象策略
/**策略方法*/
2、具體策略,這裏我以兩個具體策略為例
/**示意性算法*/
//TODO自動生成方法存根
//TODO自動生成方法存根
3、環境角色
/**環境角色類*/
/**策略方法*/
4、客戶端調用
//TODO自動生成方法存根
5、執行結果:
(本章完)