• 工厂方法模式


           工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

           

           故事:雷锋依然在人间

           小菜班里有个叫薛磊风的同学,大学期间一直在帮助一个老人,说自己是学雷锋,但是这段时间他出事受伤了,希望班里的同学能帮忙照顾老人。

    Leifeng.cs

     1 namespace FactoryMethodPattern
     2 {
     3     //雷锋类
     4     class Leifeng
     5     {
     6         public void Sweep()
     7         {
     8             Console.WriteLine("扫地");
     9         }
    10         public void Wash()
    11         {
    12             Console.WriteLine("洗衣");
    13         }
    14         public void BuyRice()
    15         {
    16             Console.WriteLine("买米");
    17         }
    18     }
    19 
    20     //学雷锋的大学生类
    21     class Undergraduate : Leifeng { }
    22     //社区志愿者类
    23     class Volunteer : Leifeng { }
    24 
    25 
    26 
    27     //雷锋工厂
    28     interface IFactory
    29     {
    30         Leifeng CreateLeifeng();
    31     }
    32 
    33     //学雷锋的大学生工厂
    34     class UndergraduateFactory : IFactory
    35     {
    36         public Leifeng CreateLeifeng()
    37         {
    38             return new Undergraduate();
    39         }
    40     }
    41     //社区志愿者工厂
    42     class VolunteerFactory : Leifeng
    43     {
    44         public Leifeng CreateLeifeng()
    45         {
    46             return new Volunteer();
    47         }
    48     }
    49 }

    Program.cs

     1 namespace FactoryMethodPattern
     2 {
     3     class Program
     4     {
     5         static void Main(string[] args)
     6         {
     7             IFactory factory = new UndergraduateFactory();  //换成社区志愿者,改这里就可以了
     8             Leifeng student = factory.CreateLeifeng();
     9 
    10             student.BuyRice();
    11             student.Sweep();
    12             student.Wash();
    13 
    14             Console.Read();
    15         }
    16     }
    17 }
  • 相关阅读:
    查看当前的数据和索引的总大小
    PXC安装
    [学习笔记]位运算
    PXC小结
    java算法集训代码填空题练习3
    mha配置参数详解
    [学习笔记]二分图
    Java 实现 蓝桥杯 等额本金
    账号权限问题导致 masterha_check_repl 检查失败
    [学习笔记]0/1分数规划
  • 原文地址:https://www.cnblogs.com/nullcodeworld/p/9365252.html
Copyright © 2020-2023  润新知