返回顶部

工厂模式之工厂方法案例

工厂方法模式

首先创建控制台应用程序项目

1.创建AbstractProduct抽象产品类。在该类中定义抽象产品方法。

 

public abstract class IAbstractProduct
    {
        public abstract string Add();
    }

 

2.创建ProductAProductB两个具体产品类。请根据工厂方法模式的内容,在两个具体产品类中添加内容。

 

public class ProductA : AbstractProduct.IAbstractProduct
    {
        public override string Add()
        {
            return "创建具体产品A";
        }
    }

public class ProductB:AbstractProduct.IAbstractProduct
    {
        public override string Add()
        {
            return "创建具体产品B";
        }
    }

 

 

 

3.创建AbstractFactory抽象工厂类。在该类中定义抽象工厂方法。

 

public abstract class IAbstractFactory
    {
        public abstract AbstractProduct.IAbstractProduct Create();
    }

 

4.创建ConcreteFactoryAConcreteFactoryB两个具体工厂类。根据工厂方法模式的内容,在两个具体工厂类中添加内容

 

public class ConcreteFactoryA : AbstractFactory.IAbstractFactory
    {
        public override IAbstractProduct Create()
        {
            return new ProductA();
        }
    }

public class ConcreteFactoryB:AbstractFactory.IAbstractFactory
    {
        public override IAbstractProduct Create()
        {
            return new ProductB();
        }
    }

 

5.Program类中,调用不同的工厂类实例化不同的产品类,通过Console.WriteLint()输出对应的提示信息。

 

static void Main(string[] args)
        {
            IAbstractFactory factoryA = new ConcreteFactory.ConcreteFactoryA();
            IAbstractProduct product1 = factoryA.Create();
            Console.WriteLine(product1.Add());
            IAbstractFactory factoryB = new ConcreteFactory.ConcreteFactoryB();
            IAbstractProduct product2 = factoryB.Create();
            Console.WriteLine(product2.Add());
            Console.ReadKey();
        }

 

结果:

 

posted @ 2019-04-02 15:02  世界欠绘梨衣一场婚礼  阅读(137)  评论(0编辑  收藏  举报