星空网 > 软件开发 > ASP.net

设计模式之简单工厂和单列的区别

 1.什么是设计模式

 

        * 解析:针对特定问题而提出特定的解决方案

            简单工厂不算23种设计模式中的一种,--只是一个抽象工厂

 

  2.什么简单工厂呢?

  01.简单工厂的概念

   一个普通的类,在该类定义一个方法;该方法是用静态(static)修饰,返回值为父类的类型,通常方**带一个参数。

   02.代码举例

  

public class PizzaFactory  {    //定义一个 static   并且返回值类型是  父类类型的方法   携带一个参数    public static Pizza getInstance(string type)    {      //01.定义一个父类类型的容器 ,用于保存对应的子类对象      Pizza pizza=null;      switch (type)      {        case "奶酪比萨":          pizza = new CheesePizza();          break;        case "培根比萨":          pizza = new PGPizza();          break;      }      return pizza;    }  }

 

  03.父类与子类的代码

  

--父类  public abstract class Pizza //abstract关键字来修饰即为抽象类  {    public abstract string Info();//抽象方法--留给子类来重写  }--子类public class PGPizza:Pizza //继承  {    public override string Info() //重写了方法    {      return "您好,培根披萨订购完成!";    }--另一个子类public class CheesePizza:Pizza  {    public override string Info()    {      return "您好,奶酪比萨成功订购";    }

 

3.单例

  01.简单描述

  跟简单工厂相似,只不过是单例只能想内存索要一块空间,相当于只能new一次。

在一个普通类中,先给该类定义一个静态(static)的变量,然后将该类的无参构造的修饰符共有的(public)改为私有的(private),

再定义一个静态(static)的方法,返回值类型为该类,最后判断该类是否有new过,即向内存索要空间,如果没有就new,否则就return

会该类的变量即可。

  02.代码如下所示

 

public class Person  {    public static Person p; //静态变量    private Person()   //私有的构造函数    {    }    public static Person getInstance() //静态方法 返回值类型Person     {      if (p==null)              //判断      {        p=new Person();      //索要空间      }      return p;   //返回该类的变量    }  }

 


     如果觉得有什么不足之处,请各位能够留下您的观点,希望我们都能够学到知识、、、

 

 

 




原标题:设计模式之简单工厂和单列的区别

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

订单狂跌:https://www.goluckyvip.com/tag/3126.html
方递物流:https://www.goluckyvip.com/tag/31260.html
方三妹 若灵 :https://www.goluckyvip.com/tag/31262.html
防静电产品:https://www.goluckyvip.com/tag/31266.html
防侵权预警:https://www.goluckyvip.com/tag/31267.html
房产税:https://www.goluckyvip.com/tag/31269.html
深圳光明农场大观园儿童乐园位置+门票+项目+交通:https://www.vstour.cn/a/403240.html
Gmarket等平台大幅降低会员费,积极争夺Coupang用户:https://www.kjdsnews.com/a/1840791.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流