策略模式又叫算法模式,是指将独立的算法进行封装,并可以动态决定使用哪个算法类来改变对象的行为。
结构图:
[img]http://dl2.iteye.com/upload/attachment/0115/0717/68ce6376-4c59-345c-96c6-e22eeca1b87c.png[/img]
使用场景:
1.有不同的逻辑来处理,可以抽象出独立的算法类,算法类之间公平且唯一。
2.通过策略模式可以松耦合维护算法族。
使用实例:
1. TreeSet和TreeMap,通过构造函数参数Comparable来实现算法的注入。
结构图:
[img]http://dl2.iteye.com/upload/attachment/0115/0717/68ce6376-4c59-345c-96c6-e22eeca1b87c.png[/img]
使用场景:
1.有不同的逻辑来处理,可以抽象出独立的算法类,算法类之间公平且唯一。
2.通过策略模式可以松耦合维护算法族。
使用实例:
1. TreeSet和TreeMap,通过构造函数参数Comparable来实现算法的注入。