• 设计模式之工厂方法模式


    定义
     
    应用场景
     
     
    Demo

    最后我们看看demo吧,这是一个非常简单的demo,正常来说,工厂模式涵盖的内容很多,思维不要太过局限于demo,更多还应该考虑每个工厂可能还有自己特殊的地方,毕竟已经设计了单独的工厂类了。

    以下demo的场景是想找到一个厨师去做饭,厨师角色暂时按照男女厨师来区分。

    1 public interface IFactory
    2 {
    3     ICook GetCooker();
    4 }
    1 public class ManFactory : IFactory
    2 {
    3     public ICook GetCooker()
    4     {
    5         return new IManCook();
    6     }
    7 }
    1 public class WomanFactory : IFactory
    2 {
    3     public ICook GetCooker()
    4     {
    5         return new IWomanCook();
    6     }
    7 }
    1 public interface ICook
    2 {
    3     void DoMeal();
    4 }
    1 public class IManCook : ICook
    2 {
    3     public void DoMeal()
    4     {
    5         Console.WriteLine("男厨师做饭");
    6     }
    7 }
    1 public class IWomanCook : ICook
    2 {
    3     public void DoMeal()
    4     {
    5         Console.WriteLine("女厨师做饭");
    6     }
    7 }
     1 public class Program
     2 {
     3     static void Main(string[] args)
     4     {
     5         //找男厨师做饭
     6         IFactory manFactory = new ManFactory();
     7         ICook manCook = manFactory.GetCooker();
     8         manCook.DoMeal();
     9 
    10         //找女厨师做饭
    11         IFactory womanFactory = new ManFactory();
    12         ICook womanCook = womanFactory.GetCooker();
    13         womanCook.DoMeal();
    14     }
    15 }
  • 相关阅读:
    三、录制脚本Badboy录制脚本1
    三、录制脚本术语
    二、搭建Jmeter环境以及环境变量
    三、录制脚本Jmeter录制脚本2
    一、JMeter相关术语
    MySQL存储引擎
    创建线程CreateThread()
    关于category
    关于异常
    UIView和UIWindow
  • 原文地址:https://www.cnblogs.com/edison0621/p/10414721.html
Copyright © 2020-2023  润新知