设计模式---策略模式


解决的问题:解决一个对象中某个或某些行为的算法有多种实现,经常发生变化,如果在对象内部完全实现这种算法会使变得十分臃肿,不利于维护扩展的问题。

实现方式:把对象中不变的部分封装成固定的上下文类,经常地变化的行为方式抽象为一个一个的接口,然后根据不同的应用环境实现这些接口。借用http://www.cnblogs.com/kid-li/archive/2006/12/15/592818.html所用的类图。

设计模式---策略模式_第1张图片

Context 类中封装的一般是固定不变的方法。经常变化的方法被抽象成IStrategy类,ConcreteStateegyA类,ConcreteStateegyB类 和 ConcreteStateegyC类 均是经常变换方法的具体场景的实现。

你可能感兴趣的:(设计模式---策略模式)