单例模式理解:php
整个系统中有这么一个Class类,这个类永远只能只有一个实例的存在,称之为单例模式。html
原理:数据库
这个类在构建类时已经在里面实例化对象,将构造函数也改成私有的,因此没法经过NEW来实例化新对象,函数
须要在类里面有一个方法返回实例化的对象,因此用户每次调用这个方法都返回最早的那个对象。工具
使用场景:htm
1.须要频繁的进行建立和销毁的对象;对象
2.建立对象时耗时过多或耗费资源过多,但又常常用到的对象;blog
3.工具类对象;资源
4.频繁访问数据库或文件的对象。get
扩展阅读:http://www.javashuo.com/article/p-avbufjwi-cu.html
代码实例----饿汗式---静态常量:
public class user { //实例化 private static user obj=new user();//1 //构造函数改成私有没法再外界实例化 private user() { } //属性 public string name { set; get; } //获取对象方法,因此每次调用该方法都返回 1 处的对象,保证系统中只能有一个对象存在。 public static user getUser() { return obj; } }
调用:
user u = user.getUser(); u.name = "php"; user u2 = user.getUser();//到这里 u2.name已经为php u2.name = "php2"; //意思是u和u2都指向Class里面的那个实例化对象