多例模式(multiton)
由 學院君 建立於5年前, 最後更新於 1年前
版本號 #1
10083 views
5 likes
0 collects
1、模式定義
多例模式和單例模式類似,但可以返回多個例項。比如我們有多個資料庫連線,mysql、sqlite、postgres,又或者我們有多個日誌記錄器,分別用於記錄除錯資訊和錯誤資訊,這些都可以使用多例模式實現。
2、uml類圖
3、示例**
multiton.php
namespace designpatterns\creational\multiton;
* multiton類
class multiton
* 第乙個例項
const instance_1 = '1';
* 第二個例項
const instance_2 = '2';
* 例項陣列
* @var array
private static $instances = array();
* 建構函式是私有的,不能從外部進行例項化
private function __construct()
* 通過指定名稱返回例項(使用到該例項的時候才會例項化)
* @param string $instancename
* @return multiton
public static function getinstance($instancename)
if (!array_key_exists($instancename, self::$instances)) {
self::$instances[$instancename] = new self();
return self::$instances[$instancename];
* 防止例項從外部被轉殖
* @return void
private function __clone()
* 防止例項從外部反序列化
* @return void
private function __wakeup()
設計模式 橋梁模式
定義抽象公司 public abstract class corp 上方是模板方法 下面是房地產公司 public class housecorp extends corp 賣房子 protected void sell 賺錢 public void makemoney 服裝公司 public cl...
設計模式 多例模式
首先宣告,此文整理自其它文獻,原作者用舉例的方式,將大道理解釋的淺顯易懂,初學設計模式者容易理解 下面進入正題 這種情況有沒有?有!是,確實有,就出現在明朝,那三國期間的算不算,不算,各自稱帝,各有各的地盤,國號不同。大家還記得那首詩 石灰吟 嗎?作者是誰?于謙,他是被誰殺死的?明英宗朱祁鎮,對,就...
設計模式 多例模式
多例模式 有上限的多例模式 沒上限的多例模式太容易了,和你直接new乙個物件沒啥區別,不討論 有時候當皇帝的是兒子其實還有乙個太上皇啊 有上限的多例模式 沒上限的多利模式太容易了,跟new個物件沒啥區別 public class emperor 就這麼多皇帝,不允許再推舉乙個皇帝 new 乙個皇帝 ...