Welcome

首页 / 软件开发 / C# / 设计模式(C#) - 策略模式(Strategy Pattern)

设计模式(C#) - 策略模式(Strategy Pattern)2010-05-26 cnblogs webabcd返回“”

介绍

定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。

示例

有一个Message实体类,对它的操作有Insert()和Get()方法,持久化数据在SqlServer数据库中或Xml文件里(两种可互换的算法)。由客户端决定使用哪种算法。

MessageModel

using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.Strategy
{
/**//// <summary>
/// Message实体类
/// </summary>
public class MessageModel
{
/**//// <summary>
/// 构造函数
/// </summary>
/// <param name="msg">Message内容</param>
/// <param name="pt">Message发布时间</param>
public MessageModel(string msg, DateTime pt)
{
this._message = msg;
this._publishTime = pt;
}

private string _message;
/**//// <summary>
/// Message内容
/// </summary>
public string Message
{
get { return _message; }
set { _message = value; }
}

private DateTime _publishTime;
/**//// <summary>
/// Message发布时间
/// </summary>
public DateTime PublishTime
{
get { return _publishTime; }
set { _publishTime = value; }
}
}
}