本文實例講述了PHP工廠模式、單例模式與注冊樹模式。分享給大家供大家參考,具體如下:
三種基本設計模式
1、工廠模式:工廠方法或者類生成對象,而不是在代碼中直接new
2、單例模式:使某個類的對象僅允許創(chuàng)建一個
3、注冊模式:全局共享和交換對象
工廠模式:
?php
namespace IMooc;
class Factory
{
static function createDatabase()
{
$db = new Database();
return $db;
}
}
$db = IMooc\Factory::createDatabase();
工廠模式的好處是,避免Database這個類,在很多個php文件都進行new操作,如果Database這個類發(fā)生了一些變更(修改了名字或者參數),那這時候如果不工廠模就需要修改多出了,使用工廠模式,就只需要修改工廠方法即可。
單例模式:
?php
namespace IMooc;
class Database
{
protected $db;
private function __construct()
{
}
// 獲取數據庫操作實例
static function getInstance()
{
if(self::$db){
return self::$db;
}else{
self::$db = new self();
return self::$db;
}
}
}
// 無論調用多少次,只會創(chuàng)建一個實例
$db = IMooc\Database::getInstance();
$db = IMooc\Database::getInstance();
$db = IMooc\Database::getInstance();
$db = IMooc\Database::getInstance();
注冊樹模式:
?php
namespace IMooc;
class Register
{
protected static $objects;
static function set($alias, $object)
{
self::$objects[$alias] = $object;
}
static function get($name)
{
return self::$objects[$name];
}
static function _unset($alias)
{
unset(self::$objects[$alias]);
}
}
$db = \IMooc\Register::get('db1');
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- PHP 工廠模式使用方法
- php設計模式 Factory(工廠模式)
- PHP中“簡單工廠模式”實例代碼講解
- php基礎設計模式大全(注冊樹模式、工廠模式、單列模式)
- PHP實現單例模式最安全的做法
- php單例模式實現(對象只被創(chuàng)建一次)
- php利用單例模式實現日志處理類庫
- PHP設計模式之注冊樹模式分析
- PHP單例模式實例分析【防繼承,防克隆操作】
- PHP單例模式數據庫連接類與頁面靜態(tài)化實現方法