设计模式-3-工厂方法

Posted MancosZeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式-3-工厂方法相关的知识,希望对你有一定的参考价值。

说明:使用抽象类的继承和方法返回值,使之可以在产品上,工厂上无限扩展

大致代码

 

 public abstract class AbsProduct
    {
        public abstract void Exc();
    }
  class ProductA1 : AbsProduct
    {
        public override void Exc()
        {
            Console.WriteLine("A1");
        }
    }
   class ProductB1 : AbsProduct
    {
        public override void Exc()
        {
            Console.WriteLine("B1");

        }
    }
   public abstract class AbsCreator
    {
        public abstract AbsProduct GetProduct(string str);
    }
  public class CreatorA : AbsCreator
    {
        public override AbsProduct GetProduct(string str)
        {
            if(str=="a")
            {
                return new ProductA1();
            }
            return null;
        }
    }
 public class CreatorB : AbsCreator
    {
        public override AbsProduct GetProduct(string str)
        {
            if(str=="b")
            {
                return new ProductB1();
            }
            return null;
        }
    }
            AbsCreator c1 = new CreatorA();
            AbsCreator c2 = new CreatorB();
            c1.GetProduct("a").Exc();
            c2.GetProduct("b").Exc();

  

以上是关于设计模式-3-工厂方法的主要内容,如果未能解决你的问题,请参考以下文章

设计模式工厂方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式:工厂方法模式

设计模式-3-工厂方法

PHP面向对象之选择工厂和更新工厂

Java设计模式图文代码案例详解Java五大创建者模式 建造者原型(抽象)工厂单例模式

设计模式-----抽象工厂模式