您的位置:首页 > 编程语言 > C#

(C#)工厂方法模式

2015-08-05 10:31 435 查看
1.工厂方法模式

  第一了一个用于创建对象的接口,让子类自己决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。



*工厂方法模式即克服了简单工厂模式违反开放-封闭原则的缺点,又保留了封装对象创建过程的优点。

2.实例

namespace 工厂方法模式
{
class Program
{
static void Main(string[] args)
{
IFactory factory = new CUnderGraduate();
Leifeng student = factory.CreateLeiFeng();
student.Sweep();
student.Wash();
student.BuyRice();

Console.ReadLine();
}
}

/// <summary>
/// 所有工厂中公共执行的操作的类
/// </summary>
class Leifeng
{
public void Sweep()
{
Console.WriteLine("扫地");
}
public void Wash()
{
Console.WriteLine("洗衣");
}
public void BuyRice()
{
Console.WriteLine("买米");
}
}

/// <summary>
/// 创建工厂接口
/// </summary>
interface  IFactory
{
Leifeng CreateLeiFeng();
}

/// <summary>
/// 工厂需要实例化的类
/// </summary>
class UnderGraduate : Leifeng
{}

/// <summary>
/// 工厂需要实例化的类
/// </summary>
class Voluteers:Leifeng
{ }

/// <summary>
/// 工厂,用来实例化类
/// </summary>
class CUnderGraduate:IFactory
{
public Leifeng CreateLeiFeng()
{
return new UnderGraduate();
}
}

/// <summary>
/// 工厂,用来实例化类
/// </summary>
class CVoluteers : IFactory
{
public Leifeng CreateLeiFeng()
{
return new Voluteers();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: