zoukankan      html  css  js  c++  java
  • C#设计模式--简单工厂模式

    设计模式:

    简单工厂模式(Simple Factory Pattern)

    介绍:简单工厂模式不是Gof23种设计模式之一。但它在实际的编程中经常被用到,而且思想也非常简单,下面简单举例说明:

    简单工厂模式类图:

    简单工厂模式C#代码举例:

    MobilePhone(手机类)

    1     public abstract class MobilePhone
    2     {
    3         
    4         public abstract void print();
    5     }

    Iphone(苹果手机类)

    1 public class Iphone : MobilePhone
    2     {
    3 
    4         public override void print()
    5         {
    6             Console.WriteLine("我是苹果品牌!");
    7         }
    8     }

    XiaoMI(小米手机类)

    1 public class XiaoMI : MobilePhone
    2     {
    3         public override void print()
    4         {
    5             Console.WriteLine("我是小米手机");
    6         }
    7     }

    SmarTisan(锤子手机类)

    public class SmarTisan : MobilePhone
        {
            public override void print()
            {
                Console.WriteLine("我是锤子手机!");
            }
        }

    MobielPhoneFactory(手机工厂类)

     1 public class MobielPhoneFactory
     2     {
     3         public static MobilePhone CreateMobilePhone(string PhoneBrand)
     4         {
     5             MobilePhone mobilePhone = null;
     6             if (PhoneBrand.Equals("苹果"))
     7             {
     8                 mobilePhone = new Iphone();
     9             }
    10             else if (PhoneBrand.Equals("小米"))
    11             {
    12                 mobilePhone = new XiaoMI();
    13             }
    14             else if (PhoneBrand.Equals("锤子"))
    15             {
    16                 mobilePhone = new SmarTisan();
    17             }
    18             else
    19             {
    20             
    21             }
    22             return mobilePhone;
    23         }
    24         
    25     }

    测试工厂代码:

     1 class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             MobilePhone mobilephone1 = MobielPhoneFactory.CreateMobilePhone("苹果");
     6             if(mobilephone1 != null)
     7             mobilephone1.print();
     8             MobilePhone mobilephone2 = MobielPhoneFactory.CreateMobilePhone("小米");
     9             if(mobilephone2 != null)
    10             mobilephone2.print();
    11             MobilePhone mobilephone3 = MobielPhoneFactory.CreateMobilePhone("锤子");
    12             if(mobilephone3 != null)
    13             mobilephone3.print();
    14             Console.Read();
    15         }
    16     }

    运行结果:

    总结:如有问题欢迎留言!以上便是一个简单工厂模式!

    代码工程文件下载

  • 相关阅读:
    堆栈之链表实现
    队列之数组实现
    堆栈之数组实现
    线性表之循环双链表
    GMAP 集合已修改;可能无法执行枚举操作 错误【正解】(原创)
    大智慧选股公式
    获取股票实时交易数据的方法
    GMAP谷歌地图的纠偏 保密算法
    GMAP 判断一个坐标点是否在不规则多边形内部的算法
    SQL快速操作技巧2_datatable批量更新到数据表
  • 原文地址:https://www.cnblogs.com/JiYF/p/6405359.html
Copyright © 2011-2022 走看看