其他分享
首页 > 其他分享> > 策略模式

策略模式

作者:互联网

策略模式

定义一系列算法将它们封装起来,并且可以相互替换;

使用场景

java  awt的布局管理器;

如果一个系统有许多类,它们之间的区别仅在于它们的行为,那么可以使用策略模式;

角色

context上下文:屏蔽高层模块对策略算法的直接访问,封装可能存在的变化;

strategy:抽象策略角色,对策略、算法家族的抽象,定义每个策略或者算法必须具有的方法和属性;

concreteStrategy:具体策略角色,用于实现抽象策略中的操作。

优点

符合开闭原则,新加具体策略时不用修改代码;

避免使用多重条件判断,可以和工厂模式搭配使用;

缺点

策略类会增多,每一个类都是一种策略。

jdk源码应用

Comparator接口常用的compare()方法,就是一个策略实际模式的应用,把Comparator作为参数使用生成不同的排序策略。

标签:策略,Comparator,模式,算法,抽象,使用
来源: https://www.cnblogs.com/menbo/p/15972335.html