zoukankan      html  css  js  c++  java
  • 简单工厂模式(Simple Factory Pattern)

    又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通过它根据自变量的不同返回不同的类的实例。

    简单工厂模式专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类

    模式结构:







    abstract class MobilePhone
        {
            public abstract void Call(); 
            public abstract void SendMSG(); 
    }
        class Iphone4S : MobilePhone
        {
            public override void Call()
            {
                Console.WriteLine("用Iphone4S打电话");
            }
            public override void SendMSG()
            {
                Console.WriteLine("用Iphone4S发短信");
            }
    }
        class GalaxyNote2 : MobilePhone
        {
            public override void Call()
            {
                Console.WriteLine("用GalaxyNote2打电话");
            }
            public override void SendMSG()
            {
                Console.WriteLine("用GalaxyNote2发短信");
            }
    }
    
    class SimpleFactory
        {
            static MobilePhone ph;
            public static MobilePhone CreatePhone(string phonename)
            {
                switch (phonename)
                {
                    case "Iphone4S":
                        ph = new Iphone4S(); 
                        break;
                    case "GalaxyNote2":
                        ph = new GalaxyNote2();
                        break;
                    case "HTCOneM7":
                        ph = new HTCOneM7();
                        break;
                    default:
                        break;
                }
                return ph;
            }
    class Program
        {
            static void Main(string[] args)
            {
                MobilePhone ph;
                ph = SimpleFactory.CreatePhone("Iphone4S"); 
                ph.Call();
                ph.SendMSG();
     
                Console.ReadKey();
            }
    }
    




  • 相关阅读:
    CPU Cache与缓存行
    linux 查看命令总结
    idea自个常用工具的总结
    《人月神话》
    啊哈,翻转
    Scrapy爬虫之豆瓣TOP250
    87的100次幂除以7的余数是多少
    python之sqlite3 用法详解
    Sublime Text 3 插件SublimeLinter/PEP8安装&配置,检查代码规范
    urlparse之urljoin() 爬虫必备
  • 原文地址:https://www.cnblogs.com/peterleee/p/9373773.html
Copyright © 2011-2022 走看看