zoukankan      html  css  js  c++  java
  • C#简单工厂模式(学习Learning hard讲解笔记)

    原味地址http://www.cnblogs.com/zhili/p/SimpleFactory.html

    简单工厂模式通俗的理解就是用户与工厂的关系,用户用的东西,工厂来生成,责任明确。

    就像大神展示的例子,小弟自己敲了一遍。

     class Program
        {
            static void Main(string[] args)
            {
                //点菜
                //点个西红柿
                Food food = FoodFactory.GetFood("Tomato");
                food.Print();
    
                Thread.Sleep(5000);
    
                Food food1 = FoodFactory.GetFood("egg");
                food1.Print();
    
                Console.Read();
    
             }
        }
    
        /// <summary>
        /// 抽象类
        /// </summary>
        public abstract class Food
        {
            public abstract void Print();
        }
    
        //西红柿
        public class Tomato:Food
        {
            public override void Print()
            {
                Console.WriteLine("Tomato");
            }
        }
    
        //鸡蛋
        public class Egg : Food
        {
            public override void Print()
            {
                Console.WriteLine("egg");
            }
        }
    
        //工厂类
        public class FoodFactory
        {
            public static Food GetFood(string type)
            {
                Food food = null;
                if (type == "Tomato")
                {
                    food = new Tomato();
                }
                else if (type == "egg")
                {
                    food = new Egg();
                }
    
                return food;
            }
        }
    

      工厂生产西红柿和鸡蛋,用户吃的时候可以选择鸡蛋或者是西红柿,但是,如果用户想吃西瓜,工厂就需要增加生产了,这是简单工厂模式的限制。个人觉得,工厂模式比较适用于工厂类创建的对象比较少时用。

  • 相关阅读:
    nj07---npm
    nj06---包
    nj05---模块
    nj04---事件回调函数
    nj03---阻塞和线程
    nodejs02---demo
    nodejs简介
    【转贴】内存系列一:快速读懂内存条标签
    【转贴】4个你未必知道的内存小知识
    Linux上面mount 域控的目录 超时 然后提示 error的解决办法
  • 原文地址:https://www.cnblogs.com/zyfadmin/p/8410796.html
Copyright © 2011-2022 走看看