乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
2014-03-09 18:22
441 查看
原文:乐在其中设计模式(C#) - 策略模式(Strategy Pattern)[索引页]
[源码下载]
[align=center]乐在其中设计模式(C#) - 策略模式(Strategy Pattern)[/align]
作者:webabcd
介绍
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。
示例
有一个Message实体类,对它的操作有Insert()和Get()方法,持久化数据在SqlServer数据库中或Xml文件里(两种可互换的算法)。由客户端决定使用哪种算法。
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
IMessageStrategy
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
SqlMessage
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
XmlMessage
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
Message
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
client
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Pattern.Strategy;
public partial class Strategy : System.Web.UI.Page
运行结果
True
XML方式获取Message 2007-2-10 22:42:44
True
SQL方式获取Message 2007-2-10 22:42:44
参考
http://www.dofactory.com/Patterns/PatternStrategy.aspx
OK
[源码下载]
[源码下载]
[align=center]乐在其中设计模式(C#) - 策略模式(Strategy Pattern)[/align]
作者:webabcd
介绍
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。
示例
有一个Message实体类,对它的操作有Insert()和Get()方法,持久化数据在SqlServer数据库中或Xml文件里(两种可互换的算法)。由客户端决定使用哪种算法。
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
IMessageStrategy
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
SqlMessage
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
XmlMessage
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
Message
using System;
using System.Collections.Generic;
using System.Text;
namespace Pattern.Strategy
client
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Pattern.Strategy;
public partial class Strategy : System.Web.UI.Page
运行结果
True
XML方式获取Message 2007-2-10 22:42:44
True
SQL方式获取Message 2007-2-10 22:42:44
参考
http://www.dofactory.com/Patterns/PatternStrategy.aspx
OK
[源码下载]
相关文章推荐
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
- 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
- 乐在其中设计模式(C#) - 组合模式(Composite Pattern)
- 乐在其中设计模式(C#) - 备忘录模式(Memento Pattern)
- 乐在其中设计模式(C#) - 单例模式(Singleton Pattern)【转】
- C#设计模式之十九策略模式(Stragety Pattern)【行为型】
- 乐在其中设计模式(C#) - 单例模式(Singleton Pattern)
- 乐在其中设计模式(C#) - 状态模式(State Pattern)
- C#设计模式——策略模式(Strategy Pattern)
- 乐在其中设计模式(C#) - 装饰模式(Decorator Pattern)
- 乐在其中设计模式(C#) - 备忘录模式(Memento Pattern)
- 乐在其中设计模式(C#) - 单例模式(Singleton Pattern)
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式之(策略模式)(C#实现)(程杰)
- 乐在其中设计模式(C#) - 命令模式(Command Pattern)
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- [导入]C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式.zip(8.00 MB)
- 乐在其中设计模式(C#) - 装饰模式(Decorator Pattern)
- 乐在其中设计模式(C#) - 迭代器模式(Iterator Pattern)