策略模式之我见

    策略模式是实际开发项目用的相对比较多的一个设计模式。策略模式的定义:它定义了算法家族 ,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。比如:商城的打折促销是个典型的策略模式,根据需要执行不同的命令也是策略模式等等

下面就是策略模式的UML图:

                            image

很好理解的一个UML图形,一个接口或者抽象父类,不同的子类实现它并且完成相应的功能。有一个上下文对象(实际应用中,此类可以取消)。客户端调用的时候传入需要使用的哪个子类对象到上下文对象中。

 

下面来说下我一般使用策略模式的方式:

定义一个接口:

public interface IStrategy

{

//有一个可以表示这个对象的名称 唯一性

string Name{get;}

 

void Excute();

}

 

不同的类实现这个接口,然后给予一个唯一性的名称。我最后在前台使用的时候,通过反射机制,将实现了IStrategy接口的类都反射到一个列表(List<IStrategy>中)。前台调用的是时候只需要指定名称,我就能执行操作。

 

亚洲程序猿 2013/12/12 qq:657224709

转载于:https://my.oschina.net/u/253207/blog/183835

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值