首页 > 其他 > 详细

工厂方法模式

时间:2016-01-23 15:33:28      阅读:219      评论:0      收藏:0      [点我收藏+]

 

/// <summary>
/// FPC抽象类
/// </summary>
public abstract class FPC
{
    /// <summary>
    /// FPC生产抽象方法
    /// </summary>
    public abstract void Produce();
}
/// <summary>
/// 生产GTL类
/// </summary>
public class GTL : FPC
{
    public override void Produce()
    {
        Console.WriteLine("GTL");
    }
}
/// <summary>
/// 生产GBL类
/// </summary>
public class GBL : FPC
{
    public override void Produce()
    {
        Console.WriteLine("GBL");
    }
}
/// <summary>
/// 生产GTS类
/// </summary>
public class GTS : FPC
{
    public override void Produce()
    {
        Console.WriteLine("GTS");
    }
}
/// <summary>
/// FPC抽象工厂类
/// </summary>
public abstract class CreateFPC
{
    /// <summary>
    /// FPC工厂方法
    /// </summary>
    /// <returns></returns>
    public abstract FPC ProduceFPC();
}
/// <summary>
/// 生产GTL工厂类
/// </summary>
public class CreateGTL : CreateFPC
{
    //负责生产GTL
    public override FPC ProduceFPC()
    {
        return new GTL();
    }
}
/// <summary>
/// 生产GBL工厂类
/// </summary>
public class CreateGBL : CreateFPC
{
    /// <summary>
    /// 负责生产GBL
    /// </summary>
    /// <returns></returns>
    public override FPC ProduceFPC()
    {
        return new GBL();
    }
}
/// <summary>
/// 生产GTS工厂类
/// </summary>
public class CreateGTS : CreateFPC
{
    /// <summary>
    /// 负责生产GTS
    /// </summary>
    /// <returns></returns>
    public override FPC ProduceFPC()
    {
        return new GTS();
    }
}

调用:

CreateFPC a1a = new CreateGTL();
FPC fpca1a = a1a.ProduceFPC();
fpca1a.Produce();

 

工厂方法模式

原文:http://www.cnblogs.com/genesis/p/5153361.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!