策略模式:定義了算法族愁茁,分別封裝起來,讓它們之間可以互相替換村象,
此模式讓算法的變化獨立于使用算法的客戶笆环。
實例解析:
一款模擬鴨子的游戲,游戲中會出現(xiàn)各種鴨子厚者,一邊游泳戲水躁劣,一邊呱呱叫。設(shè)計如下所示:
//主函數(shù)代碼
public class main {
public static void main(String[] args) {
Duck mallard = new MallardDuck();
mallard.performQuack();
mallard.performFly();
}
}
設(shè)計原則
- 找出應(yīng)用中可能需要變化之處库菲,把它們獨立出來账忘,不要和那些不需要變化的代碼混在一起。(飛和叫的行為)
- 針對接口編程,而不是針對實現(xiàn)編程鳖擒。(飛和叫的行為的接口)
- 多用組合溉浙,少用繼承。(飛和叫兩個分離開來)