• 简单工厂-------And-----单例模式


       我们IT人员或多或少都听说过简单工厂模式,但对于他的了解有多深,我们自己或许也不太清楚,下面,就让我们学习一下简单工厂的一些知识。

      1.简单工厂模式

    是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

    下面是简单工厂的原理图:

    我们来写个例子来加深一下理解:

    下面的例子是用简单工厂的原理来实现订购披萨的过程:

    1.我们来先创建一个窗体

    2.然后创建一个父类(pizza)和几个pizza子类(父类为抽象类,子类override重写)

    public  class PGPizza:Pizza
        {
            public override string info()
            {
                return "你已成功订购培根披萨";
            }
        }
     public  class cheesePizza:Pizza
        {
    
            public override string info()
            {
                return "你已成功订购奶酪披萨";
            }
        }

    3.然后有一个工厂类,提供一个生产披萨的方法(这个方法有三个注意点:静态的---返回值类型为父类类型----一般带一个参数)

     public  class Pizzafactory
        {
    public static Pizza getInfo(string type) { Pizza pizza = null; switch (type) { case "奶酪披萨": pizza = new cheesePizza(); break; case "培根披萨": pizza = new PGPizza(); break; } return pizza; } }

    4.最后通过主窗体调用方法

     private void btnOk_Click(object sender, EventArgs e)
            {
                //接受订购文本
                if (rbncheese.Checked)
                {
                   Pizza p= Pizzafactory.getInfo(rbncheese.Text);
                   string word = p.info();
                   MessageBox.Show(word);
                }
                else if (rbnpg.Checked)
                {
                    Pizza p = Pizzafactory.getInfo(rbnpg.Text);
                    string word = p.info();
                    MessageBox.Show(word);
                }
    
            }

    2.单例模式

    在某些特殊的场合中,我们需要在内存中只驻留某个类的一个对象,KTV点歌系统,播放窗体只需要有一个。

    这就会用到单例模式。

     今天就到这里,下次见!!!

  • 相关阅读:
    2015年新的征程,我的博客开通啦!
    基于USB3.0、DP1.2的网络隔离数据安全传输方案
    USB OTG to PC USB API简介
    SMA2SATA、PCIe2SATA转换模块(也有叫:Sata Test Fixtures)
    SATA接口硬盘加密器
    SVN二次开发——让SVN、TSVN(TortoiseSVN)支持windows的访问控制模型、NTFS ADS(可选数据流、NTFS的安全属性)
    About USB Data Link Cable API
    蓝牙4.0BLE抓包(三) – 扫描请求和扫描响应
    nRF51822外设应用[2]:GPIOTE的应用-按键检测
    蓝牙4.0BLE抓包(二) – 广播包解析
  • 原文地址:https://www.cnblogs.com/wth1129/p/5244298.html
Copyright © 2020-2023  润新知