工厂模式之工厂方法案例

工厂方法模式

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

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

 

结果:

 

转载于:https://www.cnblogs.com/lhl123/p/10642699.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值