1、工厂模式,工厂方法或者类生成对象,而不是在代码中直接new
class Factory
{
static function createDatabase()
{
//Database类为单例模式
$db = new Database::getInstance;
return $db;
}
}
2、单例模式,使某个类的对象仅允许创建一个
class Database
{
protected $db;
private function --construct(){
}
static function getInstance(){
if(self::$db) return self::$db;
return self::$db = new self();
}
}
3、注册模式,全局共享和交换对象
class Register
{
protected static $objects;
function set($alias,$object)
{
self::$objects[$alias] = $object;
}
function _unset($alias){
unset(self::$objects[$alias]);
}
function get($name){
return $object[$name];
}
}