策略模式概括表
特點 | 實現 | 意義 |
---|---|---|
封裝了變化 | 分三步:1、建立公共接口 2、實現其接口 3、搭建環境 | 充分的利用了多態實現了程序的低耦合 |
概括爲一句話啊:封裝了算法,可任意替換,而不影響到客戶端
練習:
要求:假如有若干個類Person對象存在一個List當中,對他們進行排序,分別按照名字、年齡、id進行排序(要有正
序與倒序兩種排序方式)。假如年齡或者姓名重複,按照id的正序進行排序。要求使用策略模式進行。
僞代碼:
1、公共接口SortPerson:
建立一個sort(List<Person> list)方法
2、實現類繼承公共接口:
分爲6個(或者3個):upId,downId,upName,downName,upAge,downAge
並分別實現sort方法
3、搭建環境Strategy
創建一個SortPerson sp,並用構造函數實例,及:
用一個getSort方法封裝sp.sort(),方便使用
4、客戶端
new Strategy(List<Person> list).getSort()