策略模式

2017-04-22  本文已影响0人  Jokerone_

定义

定义一系列的算法类,将每一个算法类封装起来,并让他们可以互相替换,将算法的定义和使用分开。

UML图

Paste_Image.png

应用

JDK中的Comparator比较器。
比如有一个Student学生类,有name和age两个属性。如果有个需求需要打印学生名单,并按照字母顺序排序,可以使用Comparator接口并在内部使用name进行比较即可。 如果哪一天需要按照年龄进行排序,那么只需要修改Comparator即可,也就是使用一个新的策略,其它完全不变。

Comparable和Comparator的区别

上一篇 下一篇

猜你喜欢

热点阅读