java设计模式种strategy模式简述与使用( 二 )


综上,策略模式的主要角色如下 。
1.抽象策略()类:定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,环境角色使用这个接口调用不同的算法,一般使用接口或抽象类实现 。例子中就是抽象策略 。
2.具体策略( )类:实现了抽象策略定义的接口,提供具体的算法实现 。例子中 与 是具体策略 。
3.环境()类:持有一个策略类的引用,最终给客户端调用 。有能提供用户使用不同策略的机会 。
结构图如下: