[Design] Strategy Pattern

  行为模式主要是责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。
  行为模式分为类的行为模式和对象的行为模式两种。
类的行为模式
    类的行为模式使用继承关系在几个类之间分配行为。
对象的行为模式
    对象的行为模式则使用对象的聚合来分配行为。
--------------------------------------------------------

策略模式

  策略模式属于对象的行为模式。

  其用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使用得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
结构及角色

  • 1、环境角色(Context)

    持有一个抽象策略角色Strategy类的引用。

  • 2、抽象策略(Strategy)角色

    这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。

  • 3、具体策略(ConcreteStrategy)角色

    包装相关算法或行为。

posted @ 2009-04-23 10:45  ABeen  阅读(354)  评论(0编辑  收藏  举报