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

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

  • 相关阅读:
    (转)值得学习百度开源70+项目
    C#中$的用法
    (转载)《C#高级编程》读书笔记
    C#调用大漠插件
    Visual Studio 2017 扩展推荐
    C#操作Dataset数据集与SQLite数据库
    (转载)C#格式规范
    (转载)DataTable与List<T>相互转换
    FastReport.Net
    (转载)C #开源框架
  • 原文地址:https://www.cnblogs.com/zyfadmin/p/8410796.html
Copyright © 2011-2022 走看看