摘要:单例模式:即一个类只被实例化一次,当其他人对其再次实例化时,便返回第一次实例化的对象。这种模式可以极大地节约资源。典型应用于数据库类的实例化。单例模式的主要特点是“三私一公”:1.需要一个保存类的唯一实例的私有静态成员变量2.构造函数必须声明为私有的,实例化类时,会自动调用类的构造方法,防止外部程序new一个对象从而失去单例的意义3.克隆函数必须声明为私有的,防止对象被克隆4.必须提供一个访问这个
单例模式:即一个类只被实例化一次,当其他人对其再次实例化时,便返回第一次实例化的对象。这种模式可以极大地节约资源。典型应用于数据库类的实例化。
单例模式的主要特点是“三私一公”:
1.需要一个保存类的唯一实例的私有静态成员变量
2.构造函数必须声明为私有的,实例化类时,会自动调用类的构造方法,防止外部程序new一个对象从而失去单例的意义
3.克隆函数必须声明为私有的,防止对象被克隆
4.必须提供一个访问这个实例的公共静态方法,从而返回唯一实例的一个引用。在类内部实例化对象。实例化前先判断该类是否已被实例化了,若已被实例化,就返回该实例化对象;若没被实例化,便实例化一个对象并将该对象保存在类的静态属性中
<?php
// 私有静态成员变量
privated static $instance = NULL;
// 私有构造函数
privated function __construct()
{
# code...
}
// 私有克隆方法
private function __clone()
{
# code...
}
// 访问实例的公共静态方法
public static function getInstance()
{
if(!(self::$instance instanceof self))
{
self::$instance=new self();
}
return self::$instance;
}
?>
批改老师:韦小宝批改时间:2018-11-27 13:55:07
老师总结:写的很不错!设计模式要多练才可以!课后记得多多练习!