设计模式-创建者模式-抽象工厂模式_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 设计模式-创建者模式-抽象工厂模式

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

 2013/11/12 22:45:24  种花生的读书人  博客园  我要评论(0)
  • 摘要:一、抽象工厂模式四个组成部分:抽象产品接口、具体产品、抽象工厂接口、具体工厂抽象工厂可以包含不同的工厂,不同的工厂可以创建出相通目标类的不同实例interfaceIProductA{voidProductA();}interfaceIProductB{voidProductB();}classProductAOne:IProductA{publicvoidProductA(){Console.WriteLine("ProductsA--One");}}classProductATwo
  • 标签:创建 模式 抽象 设计 设计模式 抽象工厂模式

class="title">一、抽象工厂模式

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

    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();
        }

 

  • 创建型模式
  • 单例模式
  • 工厂模式
  • 抽象工厂模式
  • 创建者模式
  • 原型模式
  • 结构性模式
  • 适配器模式
  • 桥模式
  • 组合模式
  • 装饰模式
  • 外观模式
  • 享元模式
  • 代理模式
  • 行为型模式
  • 职责链模式
  • 模板方法模式
  • 解释器模式
  • 命令模式
  • 迭代器模式
  • 中介者模式
  • 备忘录模式
  • 观察者模式
  • 状态模式
  • 策略模式
  • 访问者模式
发表评论
用户名: 匿名