一、核心思想
策略模式定义了一系列的算法,并将每一个算法封装起来,使他们可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。
策略模式将一系列的算法包装为一个接口抽象类的子类,并由调用者决定调用某一个子类。
关系图如下:
二、何时使用策略模式
策略模式是一个提倡针对接口编程的模式,而使用接口的目的是为了统一标准或者说是指定一种强行的规定。策略模式的使用是由用户发起的,根据用户的操作决定使用什么样的具体策略角色。策略模式仅仅是封装算法,提供新的算法加入到已有系统和算法间的相互替换,以及方便老算法从系统中“退休”。
三、JAVA中的应用
AWT布局管理器
Swing边界类