设计模式:单例模式
一般来说,单例模式仅适用于支持OOP
的语言,像php
、c++
等。但是其思想却可以借鉴到所有的语言。
下面以php
为例:
<?php
interface ISingleton
{
static public function GetInstantce();
static public function CloseInstance();
}
final class MySQLConnection implements ISingleton
{
static private $connection;
private function __construct()
{
if (function_exists('mysqli_connect')
{
return mysqli_connect('localhost', 'root', '', 'nms', 3306);
}
return null;
}
final static public function GetInstantce()
{
if (! self::$connection instantceof self)
{
self::$connection = new self();
}
return self::$connection;
}
static public function CloseInstance()
{
if (self::$connection)
{
mysqli_close(self::$connection);
}
self::$connection = null;
}
private function __clone() {}
private function __desctruct()
{
self::CloseInstance();
}
}
?>