设计模式之简单工厂

来源:互联网 发布:手写体信封打印软件 编辑:程序博客网 时间:2024/04/29 05:33
简单工厂模式(Simple Factory Pattern):又称为静态工厂方法模式,它属于类创建型模式。
在简单工厂模式中,可以根据参数的不同返回不同类的实例。
简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

示例代码:
using System;  public abstract class Light  {    public abstract void TurnOn();    public abstract void TurnOff(); }  public class BulbLight : Light  {    public override void TurnOn()     {       Console.WriteLine("Bulb Light is Turned on");    }     public override void TurnOff()     {       Console.WriteLine("Bulb Light is Turned off");    } }  public class TubeLight : Light  {    public override void TurnOn()     {       Console.WriteLine("Tube Light is Turned on");    }     public override void TurnOff()     {       Console.WriteLine("Tube Light is Turned off");    } }  public class LightSimpleFactory  {    public Light Create(string LightType)     {       if(LightType == "Bulb")          return new BulbLight();       else if(LightType == "Tube")          return new TubeLight();       else          return null;    } }  public class Client  {    public static void Main()     {       LightSimpleFactory lsf = new LightSimpleFactory();        Light l = lsf.Create("Bulb");       l.TurnOn();       l.TurnOff();        Console.WriteLine("-----------------");        l = lsf.Create("Tube");       l.TurnOn();       l.TurnOff();    } }

结构:


简单工厂模式适合用来对大量具有共同接口的类进行实例化,它可以推迟到运行的时候才动态决定要创建哪个类的实例,而不是在编译时就必须知道要实例化哪个类。

原创粉丝点击