欢迎来到天天文库
浏览记录
ID:17937943
大小:282.50 KB
页数:7页
时间:2018-09-11
《乐在其中设计模式(c#) - 策略模式(strategy pattern)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、介绍定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。示例有一个Message实体类,对它的操作有Insert()和Get()方法,持久化数据在SqlServer数据库中或Xml文件里(两种可互换的算法)。由客户端决定使用哪种算法。MessageModelusing System;using System.Collections.Generic;using System.Text;namespace Pattern.Strategy{ /**//// 2、ry> /// Message实体类 /// public class MessageModel { /**//// /// 构造函数 /// /// Message内容 /// Message发布时间 public MessageModel(strin3、g msg, DateTime pt) { this._message = msg; this._publishTime = pt; }http://gexing.qqq80.com private string _message; /**//// /// Message内容 /// public string Message 4、{ get { return _message; } set { _message = value; } } private DateTime _publishTime; /**//// /// Message发布时间 /// public DateTime PublishTime { get { return _pub5、lishTime; } set { _publishTime = value; } } }}IMessageStrategyusing System;using System.Collections.Generic;using System.Text;namespace Pattern.Strategy{ /**//// /// 策略接口 /// public interface IMessageStrategy 6、 { /**//// /// 获取Message /// /// List Get(); /**//// /// 插入Message /// /// Message实体对象 /// <7、returns> bool Insert(MessageModel mm); }}SqlMessageusing System;using System.Collections.Generic;using System.Text;http://www.qq1086.comnamespace Pattern.Strategy{ /**//// /// Sql方式操作Message /// public class Sql8、Message : IMessageStrategy { /**//// /// 获取Message /// /// public List
2、ry> /// Message实体类 /// public class MessageModel { /**//// /// 构造函数 /// /// Message内容 /// Message发布时间 public MessageModel(strin
3、g msg, DateTime pt) { this._message = msg; this._publishTime = pt; }http://gexing.qqq80.com private string _message; /**//// /// Message内容 /// public string Message
4、{ get { return _message; } set { _message = value; } } private DateTime _publishTime; /**//// /// Message发布时间 /// public DateTime PublishTime { get { return _pub
5、lishTime; } set { _publishTime = value; } } }}IMessageStrategyusing System;using System.Collections.Generic;using System.Text;namespace Pattern.Strategy{ /**//// /// 策略接口 /// public interface IMessageStrategy
6、 { /**//// /// 获取Message /// /// List Get(); /**//// /// 插入Message /// /// Message实体对象 /// <
7、returns> bool Insert(MessageModel mm); }}SqlMessageusing System;using System.Collections.Generic;using System.Text;http://www.qq1086.comnamespace Pattern.Strategy{ /**//// /// Sql方式操作Message /// public class Sql
8、Message : IMessageStrategy { /**//// /// 获取Message /// /// public List
此文档下载收益归作者所有