zoukankan      html  css  js  c++  java
  • 工厂模式之工厂方法案例

    工厂方法模式

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

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

    结果:

  • 相关阅读:
    JavaScript字符串转换为变量名
    python对象反射和函数反射
    android studio 更新Gradle版本方法
    【Node.js】'readline' 逐行读取、写入文件内容
    nodejs 设计模式
    MongoError: server instance in invalid state undefined 解决办法
    nodejs对mongodb数据库的增删改查操作(转载)
    JSON详解
    mac 安装python3
    Oracle_安装说明
  • 原文地址:https://www.cnblogs.com/lhl123/p/10642699.html
Copyright © 2011-2022 走看看