策略模式(strategy)
定义:策略模式封装了一系列的算法,所有算法完成相同的工作,但实现不同,可以以相同的方法调用所有的算法,减少各种算法类与使用算法类之间的耦合。
结构图如下
Context类维护一个Strategy类的引用,由ContextInterface接口操作Strategy子类,这样客户端就只要知道Context类就可以了。
一个简单的例子,目的只在说明Strategy模式的类关系。
Strategy抽象类
客户端使用Context实例A algorithm!C algorithm!B algorithm!