首页 > 程序开发 > Web开发 > ASP.Net >

步步为营 .NET 设计模式学习笔记 二、Abstract Factory(抽象工厂)

2011-04-06

我们以一个线程例子来说明下抽象工厂是如何工作的.平时我们都会收发邮件,那我们就做个邮件引擎线程.       定义: 抽象工厂模式是一种创建型的模式。上面的比喻说明了抽象工厂就是生产同一个系列产品的东西,因

我们以一个线程例子来说明下抽象工厂是如何工作的.平时我们都会收发邮件,那我们就做个邮件引擎线程.
定义: 抽象工厂模式是一种创建型的模式。上面的比喻说明了抽象工厂就是生产同一个系列产品的东西,因为这一系列的产品是关联的,如果混用就可能出问题,所以就统一的在抽象工厂中进行创建。当要增加一个新的产品系列时,就多写一个工厂子类并添加相应的产品子类就可以了。

我们来看一个类图。

图中,我们可以看到,客户需要得到某系列的产品的时候,直接用相应的工厂子类来创建产品就可以了。

接来下我们设计个邮件发送的线程实例:

首先创建一个接口ISaaSProcess.cs:

/// <summary>
/// 异步调用接口
/// </summary>
public interface ISaaSProcess
{
/// <summary>
/// 启动线程任务
/// </summary>
void StartProcess();
/// <summary>
/// 停止线程任务
/// </summary>
void StopProcess();
/// <summary>
/// 显示结果
/// </summary>
/// <returns></returns>
List<string> GetResult();
}

然后创建一个工厂基类SaaSProcessBase.cs:

public abstract class SaaSProcessBase : ISaaSProcess
{
/// <summary>
/// 记录Log内容
热点推荐