Strategy

Strategy(策略模式)

       用意:针对一组算法,将每一个算法封装到具有共同接口的独立的类中,

       角色:这个模式涉及到了3个角色,分别如下:

l        环境(Context)角色:持有一个Strategy类的引用;

l        抽象策略(Strategy)角色:抽象角色,通常是一个接口或是一个抽象类,用来给出所有的策略需要实现的接口;

l        具体策略(ConcreteStrategy)角色:继承自抽象类,封装了相关具体的算法;

类图如下:

下面是一个简单的实现:


posted @ 2010-01-06 16:57  braldey  阅读(112)  评论(0编辑  收藏  举报