策略模式
定義算法族,分別封裝起來,讓他們之間可以相互替換,此模式讓算法的變化獨立於使用算法的用戶
設計原則
- 封裝變化
- 多用組合,少用繼承
- 針對接口編程,不針對實現編程
原文的示例圖解:鴨子的行爲
將鴨子飛和叫的行爲分別定義爲接口:FlyBehavior和QuackBehavior
將兩種行爲的實現分別分裝成爲算法族,獨立於鴨子,這樣同一種鴨子就可以設置爲不同的飛行方式或者叫的方式
定義算法族,分別封裝起來,讓他們之間可以相互替換,此模式讓算法的變化獨立於使用算法的用戶
原文的示例圖解:鴨子的行爲
將鴨子飛和叫的行爲分別定義爲接口:FlyBehavior和QuackBehavior
將兩種行爲的實現分別分裝成爲算法族,獨立於鴨子,這樣同一種鴨子就可以設置爲不同的飛行方式或者叫的方式