1. 模式结构
2. 角色
(1) Context(环境类)
调用算法的类
(2) Strategy(抽象策略类)
定义算法的方法
(3) ConcreteStrategy(具体策略类)
具体实现算法
3. 区别状态模式
处理的问题不一样
状态模式状态之间可以相互转换
状态模式中环境类和状态类之间可以有双向关联的关系
4. 特点
结构与简单状态模式一致
对“开闭原则”完美支持
可以配合享元模式避免生成过多的具体策略类对象
5. 应用
JavaSE容器布局