Fork me on GitHub

设计模式-创建者模式-抽象工厂模式

一、抽象工厂模式

四个组成部分:抽象产品接口、具体产品、抽象工厂接口、具体工厂
抽象工厂可以包含不同的工厂,不同的工厂可以创建出相通目标类的不同实例

    interface IProductA
    {
        void ProductA();
    }
    interface IProductB
    {
        void ProductB();
    }
    class ProductAOne:IProductA
    {
        public void ProductA()
        {
            Console.WriteLine("Products A--One");
        }
    }
    class ProductATwo:IProductA
    {
        public void ProductA()
        {
            Console.WriteLine("Products A--Two");
        }
    }
    class ProductBOne:IProductB
    {
        public void ProductB()
        {
            Console.WriteLine("Products B--One");
        }
    }
    class ProductBTwo:IProductB
    {
        public void ProductB()
        {
            Console.WriteLine("Products B--Two");
        }
    }
    interface IFactory
    {
        IProductA CreateProductA();
        IProductB CreateProductB();
    }
    class FactoryOne:IFactory
    {
        public IProductA CreateProductA()
        {
            return new ProductAOne();
        }

        public IProductB CreateProductB()
        {
            return new ProductBOne();
        }
    }
     class FactoryTwo:IFactory
    {
        public IProductA CreateProductA()
        {
            return new ProductATwo();
        }

        public IProductB CreateProductB()
        {
            return new ProductBTwo();
        }
    }
        static void Main(string[] args)
        {
            var factory = new FactoryOne();
            var productAOne = factory.CreateProductA();
            productAOne.ProductA();
            var productBOne = factory.CreateProductB();
            productBOne.ProductB();

            var newfactory = new FactoryTwo();
            var productATwo = newfactory.CreateProductA();
            productATwo.ProductA();
            var productBTwo = newfactory.CreateProductB();
            productBTwo.ProductB();

            Console.ReadKey();
        }

 

posted @ 2013-11-12 21:25  种花生的读书人  阅读(331)  评论(0编辑  收藏  举报

该博客仅作为记录笔记,转载随意