一、什麼是工廠模式?
乙個類通過本身的靜態方法來,例項化乙個類並返回乙個例項物件;
二、工廠模式特點?
類命名特點:namefactory eg: class mysqlfactory{} 【這是為了規範,當然也去起其他任意名字】
靜態方法名稱:static public function factory($class_name){} 【靜態方法是類與外界的介面, 返回的是乙個物件】
三、優點?
如果已經使用的類內部發生改變,哪不需要在所有的地方都改變,只需要在類工廠類裡改變既可,
比如:連線資料庫,可以使用mysql 、mysqli、pdo,根據不同引數配置使用不同的資料庫操作類
四、應用場景
在為使用者註冊的時候,分為很多種角色的使用者。
比如冊使用者,匿名使用者、管理員使用者等。完全使用可以使用工廠的思想來實現,
**也容易維護,為每種角色可以生成操作的類等等。
系統對接多個不同型別的資料庫,mysql,oracle,sqlserver
五、**例項;
inte***ce
mysql
class
mysqli2
implements
mysql
}
class
pdo2
implements
mysql
}
class
mysqlfactory
}
$obj
= mysqlfactory::factory(
'pdo2'
);
$obj
->connect();
PHP 工廠模式
文章 簡單工廠模式 抽象基類 類中定義抽象一些方法,用以在子類中實現 繼承自抽象基類的子類 實現基類中的抽象方法 工廠類 用以例項化物件 看完文章再回頭來看下這張圖,效果會比較好 採用封裝方式 class calc result num1 num2 break return result catch...
php 工廠模式
在開發大型系統過程中,往往會出現這樣一種情況 我有一部分基礎資料,是類classa是從資料庫a讀取出來的,其他很多的功能都是基於這個基礎資料來操作的。現在呢,我想把資料從資料庫a變成從另外的資料來源去獲取,這時候,要修改起來就比較麻煩,要修改其他很多類的 這種設計顯然是不夠靈活的,換句話說,就是緊耦...
PHP設計模式 工廠模式
使用工廠模式使得在呼叫方法時變得更容易,因為它只有乙個類和乙個方法,若沒有使用工廠模式,則要在呼叫時決定應該呼叫哪個類和哪個方法 使用工廠模式還使得未來對應用程式做改變時更加容易 比如要增加一種形狀的支援,只需要修改工廠類中的create 乙個方法,而沒有使用工廠模式,則要修改呼叫形狀的 塊。定義形...