C#工厂模式-简单工厂

简单工厂:

  工厂模式:简单工厂,工厂方法,抽象工厂三种.   简单工厂(力求简洁)

  工厂即为生产东西的地方.在C#也有这种模式,充分利用了面向对象语言的三大特征(多态,继承),简单工厂.工厂的功能就是生产,而生产些什么呢?一个工厂可以生产鞋子,生产衣服.它们所处的车间不一样,所以需要两个不同的类,这两个类继承工厂生产这个功能.

  简单工厂,之所以成为简单.即这个工厂所生产的东西是有限的,固定的.因为它只有鞋子,衣服,是具体的.也可以说是简单工厂的缺点(生产产品固定,要改动case语句),优点(①降低了客户与产品之间的耦合度,客户是客户,工厂是工厂,客户只需说自己需要什么②实现了代码的复用,可以少写点代码)

  介绍完毕,上干货

工厂的接口

 

public abstract class IFactory
    {
        //生产 抽象方法
        public abstract void Production();
    }

 

工厂可实现的产品,鞋子,衣服

//生产鞋子
    public class ShoesClass : IFactory
    {
        public override void Production()
        {
            Console.WriteLine("生产鞋子");
        }
    }
public class ClothesClass : IFactory
    {
        public override void Production()
        {
            Console.WriteLine("生产了衣服");
        }
    }

根据不同需求来实现工厂的生产功能

public class Factory
    {
        IFactory f = null;
        public IFactory Create(string type)
        {
            switch (type)
            {
                case "Shoes":
                    f = new ShoesClass();
                    break;
                case "Clothes":
                    f = new ClothesClass();

break;
default:
                    break;
            }
            return f;
        }
    }

客户端实现

 class Program
    {
        static void Main(string[] args)
        {
            IFactory f = new Factory().Create("Clothes");
            f.Production();
            Console.ReadKey();
        }
    }

 

posted @ 2019-03-25 21:54  anewday  阅读(4115)  评论(1编辑  收藏  举报