我有一个理解问题:
单例设计模式使用像 Singleton::getInstance() 这样的静态函数调用,在这个函数中它使用像 self::$_instance 这样的静态变量。
根据定义,静态函数和变量独立于任何具体实例,并且每次都被调用,只是为了它的特定调用。那么,任何值怎么可能存储在这样的准抽象和每次新创建的“对象”中?
希望你能理解我的问题。
我有一个理解问题:
单例设计模式使用像 Singleton::getInstance() 这样的静态函数调用,在这个函数中它使用像 self::$_instance 这样的静态变量。
根据定义,静态函数和变量独立于任何具体实例,并且每次都被调用,只是为了它的特定调用。那么,任何值怎么可能存储在这样的准抽象和每次新创建的“对象”中?
希望你能理解我的问题。
单例设计(反)模式允许确保最多创建一个实例。
该属性是静态的,因此可以从静态方法访问它。然而,底层对象是一个真实的、活动的实例。从静态方法中,您不能使用$this
,但您可以引用任何已经实例化的对象,这self::$_instance
恰好是)
class SingletonClass {
private static $_instance;
private $_someProperty;
public static function getSomeProperty() {
return self::$_instance->_someProperty; // allowed, self::$_instance is static, but a real object nonetheless
}
}
三件事使课程成为单身人士,否则它将成为普通课程。
可能你已经为计数器功能创建了一个类,Singleton 是一样的。