策略模式
作者:互联网
策略模式
定义一系列算法将它们封装起来,并且可以相互替换;
使用场景
java awt的布局管理器;
如果一个系统有许多类,它们之间的区别仅在于它们的行为,那么可以使用策略模式;
角色
context上下文:屏蔽高层模块对策略算法的直接访问,封装可能存在的变化;
strategy:抽象策略角色,对策略、算法家族的抽象,定义每个策略或者算法必须具有的方法和属性;
concreteStrategy:具体策略角色,用于实现抽象策略中的操作。
优点
符合开闭原则,新加具体策略时不用修改代码;
避免使用多重条件判断,可以和工厂模式搭配使用;
缺点
策略类会增多,每一个类都是一种策略。
jdk源码应用
Comparator接口常用的compare()方法,就是一个策略实际模式的应用,把Comparator作为参数使用生成不同的排序策略。
标签:策略,Comparator,模式,算法,抽象,使用 来源: https://www.cnblogs.com/menbo/p/15972335.html