简单工厂模式(Simple Factory)
类图
描述
简单工厂:
一个抽象产品类,可以派生多个具体产品类;
一个具体工厂类;
工厂只能创建一个具体产品。
应用场景
汽车接口
public interface ICar { void Print(); }
汽车类
public class Audi : ICar { public void Print() { Console.WriteLine("这是一辆奥迪车."); } } public class Benz : ICar { public void Print() { Console.WriteLine("这是一辆奔驰车."); } }
汽车工厂类
public class CarFactory { public string name { get; set; } /// <summary> /// 生产汽车 /// </summary> /// <returns></returns> public ICar CreateCar() { ICar car = null; switch (name.ToLower()) { case "audi": car = new Audi(); break; case "benz": car = new Benz(); break; } return car; } }
调用,从配置文件中读取操作符
string value = ConfigurationManager.AppSettings["simpleFactoryPattern"]; CarFactory factory = new CarFactory(); factory.name = value; ICar car = factory.CreateCar(); car.Print();