《PHP設計模式介紹》第三章 工廠模式(2)_PHP教程
推薦:《PHP設計模式介紹》第二章 值對象模式在所有的最簡單的程序中,大多數對象都有一個標識,一個重要的商業應用對象,例如一個Customer或者一個SKU,有一個或者更多的屬性---id,name,email地址,這樣可以把它從同一個類的其他實例區分開
下面是工廠的另一種變化,你靜態地調用了一個工廠類:
class Product {
function getList() {
$db =& DbConnectionBroker::getConnection();
//...
}
}
class DbConnectionBroker {
function &getConnection() {
return new MysqlConnection(DB_USER, DB_PW, DB_NAME);
}
}
這里DbConnectionBroker::getConnection()產生的效果和前面的一樣 ,但這樣卻很有好處: 我們不必在每個需要連接數據庫的類中加入調用new MysqlConnection(DB_USER , DB_PW, DB_NAME)的方法。
當然另一種變化就是引用一個外部工廠對象的資源,和這個對象定義了數據庫連接的參數:
最后,一個工廠可以用一個函數合理的組織,然后實現:
class Product { var $_db_maker; function setDbFactory(&$connection_factory) { $this->_db_maker =& $connection_factory; } function getList() { $db =& $this->_db_maker->getConnection(); //... } } |
function &make_db_conn() { |
分享:《PHP設計模式介紹》第一章 編程慣用法學習一門新的語言意味著要采用新的慣用法。這章將介紹或者可能重新強調一些慣用法。你會發現這些慣用法在你要在代碼中實現設計模式時候是非常有用的。 在這里總結的許多編程慣用法都是很值得
- 相關鏈接:
- 教程說明:
PHP教程-《PHP設計模式介紹》第三章 工廠模式(2)。