1.定义
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。
2.解决的问题/使用场景
在数据库应用方面,使用单例模式,可以避免大量的new操作消耗的资源。
如果在系统中需要一个类来全局控制某些配置信息,那么使用单例模式可以很方便的实现。
3.实现单例模式的要点
需要一个保存类的唯一实例的静态成员变量。
构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义。
需要提供一个访问这个实例的静态方法(一般为getInstance方法),返回实例的引用。
4.实现代码示例
conn = mysql_connect(...); } private function __clone() { } public static function GetInstance() { if (!(self::$instance instanceof self)) { slef::$instance = new self(); } return self::$instance; } public function GetDbConnect() { return $this->conn; } public function selectData($sql) { // $result mysql_query($sql,$this->conn); // while mysql_fetch_array($result).... } } $db = Singleton::GetInstance(); $db->selectData("select * from user");
月影别墅游戏 安卓版v2.3.24
月影别墅是款女性向乙女恋爱剧情文字手游,故事背景是玩家穿越到
爆炒江湖九游版 最新版v1.42
爆炒江湖4399服是一款Q版的餐厅经营模拟游戏,玩家目前所看
欧洲卡车模拟器3内置作弊菜单 安卓版v0.2
欧洲卡车模拟器3内置菜单是一个驾驶模拟类手游,不少玩家可能在
汽车公司大亨无限研究点 v1.9.6
汽车公司大亨无限金币版是一款非常经典的模拟经营类手游,在这里
爆炒江湖果盘版 安卓版v1.42
爆炒江湖果盘版是一款中华美食模拟经营手游的渠道服版本,可能有