策略模式定義
定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。
設計原則
1、找出應用中可能需要變化之處,把它們獨立出來,不要和那些不需要變化的代碼混合在一起。
2、針對接口編程,而不是針對實現編程。
3、多用組合,少用繼承。
關於1,之所以要將應用中變化的和不變的獨立出來,是因爲如果混合在一起,會導致每次需求變化,都需要針對整個應用修改代碼,維護成本比較高。獨立出來後,只需要修改變化的部分,比較容易維護。
關於2,針對接口編程,具有松耦合的優勢,每次修改都不需要修改接口操作部分,比較靈活。
關於3,多組合可以在運行中動態變動,代碼靈活性和可維護性比較高。