zoukankan      html  css  js  c++  java
  • 【2016-10-17】【坚持学习】【Day8】【简单工厂模式】

    今天学习简单工厂模式,

    结构

    一个抽象产品

    多个具体产品

    一个工厂类,通过传入参数,new出不同的产品

    代码:

    abstract class Product
    {
         //所有产品类的公共业务方法
    public void MethodSame() 
    {
        //公共方法的实现
    }
    
    //声明抽象业务方法
    public abstract void MethodDiff();
    }
    class ConcreteProductA : Product
    {
        //实现业务方法
        public override void MethodDiff()
        {
            //业务方法的实现
        }
    }
    class Factory
    {
        //静态工厂方法
        public static Product GetProduct(string arg)
        {
            Product product = null;
            if (arg.Equals("A"))
            {
                product = new ConcreteProductA();
                //初始化设置product
            }
            else if (arg.Equals("B"))
            {
                product = new ConcreteProductB();
                //初始化设置product
            }
            return product;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Product product;
            product = Factory.GetProduct("A"); //通过工厂类创建产品对象
            product.MethodSame();
            product.MethodDiff();
        }
    }

    作者:zscmj
    出处:http://www.cnblogs.com/zscmj/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    nopCommerce 2.60 之实现产品规格属性分组筛选
    chromedriver的使用
    linux 服务器发现了挖矿病毒
    C++day11 学习笔记
    C++day08 学习笔记
    C++day10 学习笔记
    C++day07 学习笔记
    C++day06 学习笔记
    C++day04 学习笔记
    C++day02 学习笔记
  • 原文地址:https://www.cnblogs.com/zscmj/p/5971585.html
Copyright © 2011-2022 走看看