JAVA与设计模式--之STRATEGY策略模式
来源:互联网 发布:淘宝卖家如何设置套餐 编辑:程序博客网 时间:2024/04/30 17:59
策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。
策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式把行为和环境分开。环境类负责维持
和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响
到环境和客户端。
其实在我们做对象排序时,就会用到这一策略模式。比如,需要对ArrayList中的Person对象按照年龄排序,
而Person对象本身就没有支持自比较(也就是没有而没有实现Comparable接口),在不修改Person的前提下,
可以通过Comparator接口来实现比较算法进行排序。Mycomparator就是实现了Comparator接口的类,我们的
排序算法都封装在这个类里面,在这个类里可以实现不同的排序算法,比如:升序、降序等。这个时候我们的算法
(Mycomparator)和数据(Person)都分离开来。
Person.java类:
Mycomparator.java类
ArrayListSort.java测试类
运行结果:
Lily:24
Lucy:25
韩梅梅:26
李雷:27
吉姆:28
- JAVA与设计模式--之STRATEGY策略模式
- java设计模式之策略模式 Strategy
- Java设计模式之--策略模式(strategy)
- java设计模式之 strategy策略模式
- java设计模式之Strategy (策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 设计模式之Strategy(策略)
- 今日总结
- 用于构建 RESTful Web 服务的多层架构
- oracle体系结构
- windbg dump
- 集合
- JAVA与设计模式--之STRATEGY策略模式
- XP两种工具在代码中检测并堵塞 GDI 泄漏
- Futurama 5x10 - The Farnsworth Parabox
- WebLogic经验:session锁定错误解决【收集】
- [图示]周鸿祎谈Freemium模式
- MocoSpace架构介绍阅读笔记
- ccav又说谎了-转自月光博客
- web工程WEB-INF/classes为空
- hdoj 3405