zoukankan      html  css  js  c++  java
  • 工厂模式之简单工厂案例

    简单工厂模式

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

    1.创建Product抽象产品类,将具体产品类公共的代码进行抽象和提取后封装在一个抽象产品类中

    public abstract class Product
        {
            public abstract string Create();        
        }

    2.创建ConcreteProductA具体产品类,将需要创建的产品对象的相关代码封装到具体产品类中

    public class ConcreteProductA : Product.Product
        {
            public override string Create()
            {
                return "创建具体产品A";
            }
        }

    3.创建ConcreteProductB具体产品类,将需要创建的产品对象的相关代码封装到具体产品类中

    public class ConcreteProductB : Product.Product
        {
            public override string Create()
            {
                return "创建具体产品B";
            }
        }

    4.创建Factory工厂类,用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以根据所传入参数的不同创建不同的具体产品对象。

    public class Factory
        {
            public static Product.Product Create(string name)
            {
                if (name=="A")
                {
                    return new ConcreteProductA.ConcreteProductA();
                }
                else if (name=="B")
                {
                    return new ConcreteProductB.ConcreteProductB();
                }
                else
                {
                    return null;
                }
            }
        }

    5.Program类中,调用工厂类的工厂方法并传入相应的参数即可得到一个产品对象,通过Console.WriteLint()输出对应的提示信息。

    static void Main(string[] args)
            {
                Product.Product product1 = Factory.Factory.Create("A");
                Console.WriteLine(product1.Create());
                Product.Product product2 = Factory.Factory.Create("B");
                Console.WriteLine(product2.Create());
                Console.ReadKey();
            }

    结果:

  • 相关阅读:
    java8新特性学习五(接口中的默认方法与静态方法)
    java8新特性学习四(Optional类)
    [record]WebLogic域之创建-文本界面
    [转]java 关于httpclient 请求https (如何绕过证书验证)
    数组与串,串的实现,KMP,BF算法
    git
    nginx设置重写规则
    深入PHP 第三章笔记
    进程和线程
    JS 获取 iframe内元素,及iframe与html调用
  • 原文地址:https://www.cnblogs.com/lhl123/p/10642606.html
Copyright © 2011-2022 走看看