澄清单例模式
|
我正在为PHP应用程序编写一些实用程序类,其中很多都是单例。发现自己一遍又一遍地重写了相同的代码,并决定制作一个抽象基类
Singleton
并将其子类化。只是要确保我正确完成了此操作!
abstract class Singleton
{
private static $instance = NULL;
public static final function getInstance()
{
if(self::$instance == NULL)
self::$instance = instantiate();
return self::$instance;
}
protected abstract static function instantiate();
}
class LogHelper extends Singleton
{
protected static final function instantiate()
{
return new LogHelper();
}
}
现在,如果我已正确完成此操作,则可以从代码库中的任何位置调用LogHelper $LOGGER = LogHelper::getInstance()
,并每次都获得对同一实例的引用,是吗?
没有找到相关结果
已邀请:
2 个回复
娠侈脚惮顽
并且,您可能想要定义一个私有构造函数:
闪票仇门韧