php實現多選項,PHP設計模式 多例模式

2021-10-25 20:56:58 字數 1052 閱讀 9000

【一】模式定義

多例模式和單例模式類似,但可以返回多個例項。比如我們有多個資料庫連線,mysql、sqlite、postgres,又或者我們有多個日誌記錄器,分別用於記錄除錯資訊和錯誤資訊,這些都可以使用多例模式實現。

【二】uml類圖

【三】示例**

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()

設計模式 PHP實現多例模式

你可以在這裡檢視並fork源 github 上面我們講解了單例模式。多例模式,顧名思義是具有多個例項的設計模式,每個例項自身建立和管理。下面用php 實現多例模式 php7 多例模式 乙個類有多個相同的例項,每個例項自身建立和管理 link author new1024kb since 2020 0...

學習php設計模式 php實現抽象工廠模式

抽象工廠模式 abstact factory 是一種常見的軟體設計模式。該模式為乙個產品族提供了統一的建立介面。當需要這個產品族的某一系列的時候,可以為此系列的產品族建立乙個具體的工廠類。一 意圖 抽象工廠模式提供乙個建立一系統相關或相互依賴物件的介面,而無需指定它們具體的類 gof95 二 抽象工...

php設計 PHP常用設計模式

1 單例模式指在整個應用中只有乙個物件例項的設計模式 class single public rand static private instance 類直接呼叫 final private function construct private防止外部new this rand mt rand 1,...