策略模式概括表
特点 | 实现 | 意义 |
---|---|---|
封装了变化 | 分三步: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()