策略模式--单一模式

单例模式是指在应用程序的范围内只对指定的类创建一个实例。
单例模式包含的对象只有一个,就是单例本身。使用单例模式的类通常有一个私有的构造函数一个私有的克隆函数,确保用户无法通过创建对象或者克隆的方法对其进行实例化。除此以外模式中还包括一个静态私有成员变量$instance 与静态方法getInstance. getInstance 方法负责对其本身实例化,然后将这个对象存储在$instance静态变量中,以确保只有一个实例被创建。

以下是一个简单的单例模式例子,通过对单例属性$switch的设置实现了对开关状态的改变。

<?PHP
class Lock
{
static private $instance = NULL;
private $switch = 0;

static function getInstance(){
if(self::$instance == NULL){
self::$instance = new Lock();
}
return self::$instance;
}
private function Lock()
{
}
private function _clone()
{}
function setLock()
{
if($this->switch == 0)
{
$this->switch = 1;
}
else $this->switch = 0;
}

function getLock()
{
return $this->switch;
}

Lock::getInstance()->setLock();

if(Lock::getInstance()->getLock() == 0)
echo "开关状态:关";
else
echo "开关状态:开";
}
?>

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...