您的位置:首页 > 其它

UNIX进程组,会话和作业控制

2011-07-22 19:06 267 查看
1.单元素模式

某些应用程序资源是独占的
,因为有且只有一个此类型的资源。例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更是如此。

单元素模式可以满足此要求。如果应用程序每次包含且仅包含一个对象,那么这个对象就是一个单元素
(Singleton)。

 

 

<?php
/*
*设计模式
*/
class db{
private function __construct(){ // 构造器私有化
echo 'Create Object';
}
private function __clone(){}

public static function getInstance(){ // 公共接口
echo 'Call getInstance'."\n";
static $instance=null;
if($instance===null){
$instance = new self;
}
return $instance;
}
}

$db = db::getInstance();
echo "\n";

$db = db::getInstance();
echo "\n";

$db = db::getInstance();
echo "\n";

$db = db::getInstance();

 

 在这个例子中,构造函数和克隆方法都被定义为private,这么做的原因是防止开发者用new或者clone运算符错误的创建第二个类实例;因此getInstance()是唯一可以访问单件类实例的方法。

 

加深印象的例子:

玩魔兽

       双击war3.exe,这时候就开始运行魔兽了,如果不小心双击了两次就开了3个魔兽,那如果再双击几次呢?

所以如果使用单元素模式,那么即使双击多少次也只会开一个魔兽应用程序。

 

视频过程:

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: