设计模式之笔记--简单工厂模式(Simple Factory)

简单工厂模式(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();

 

posted @ 2016-03-25 10:05  sunny906  阅读(333)  评论(0编辑  收藏  举报