当前位置:编程学习 > asp >>

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

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

我们来看一个类图。

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

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

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

html#viewSource" commandName="viewSource" highlighterId="highlighter_548602">view sourceprint?
/// <summary>
/// 异步调用接口
/// </summary>
public interface ISaaSProcess
{
    /// <summary>
    /// 启动线程任务
    /// </summary>
    void StartProcess();
    /// <summary>
    /// 停止线程任务
    /// </summary>
    void StopProcess();
    /// <summary>
    /// 显示结果
    /// </summary>
    /// <returns></returns>
    List<string> GetResult();
}

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

view sourceprint?
public abstract class SaaSProcessBase : ISaaSProcess
    {
        /// <summary>
        /// 记录Log内容
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,