除了使用 new 操作符之外,還有更多的製造物件的方法。你將了解到例項化這個活動不應該總是公開進行,也會認識到初始化經常造成「耦合」問題。
yii\db\mysql\schema 中:
//建立 querybuilder 例項
public
function
createquerybuilder()
這裡使用了簡單工廠模式。
簡單工廠
**實現
//簡單工廠
class
******factory
}//所要建立的物件
class
bicycle
}//使用
$bicycle=(
new******factory()
)->
createbicycle()
;
******factory 還可以擁有別的方法,每個方法還可以擁有引數,以建立不同的物件。
簡單工廠封裝建立物件的**,有了 ******factory 之後,如果我們需要 bicycle 例項,就讓 ******factory 去給我建立乙個,而不必自己再 new 乙個。在需要多個物件的場合,使用乙個工廠確實比一大堆 new 操作具有優越性。
yii2中的簡單工廠
簡單工廠作為一種變成「習慣」,yii2中有大量的應用,因為識別簡單、用法簡單,這裡就不再多舉例了。
Yii2 設計模式
一 單例模式 顧名思義,單例模式就是只例項一次,通過乙個介面去實現多處需要的同一類物件的需求。例子 1 public function construct config 2 2 工廠模式 策略模式 顧名思義,工廠模式就是像工廠的機器化一樣取構造當前web應用所需的類物件。例子 1 public st...
設計模式(2) 簡單工廠模式
簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。工廠 creator 角色 簡單工廠模式的核心,它負責實現建立所有例項的內部邏輯。工廠類的建立產品類的方法可以被外界直接呼叫,建立所需的產品物件。抽象產品 product 角色 簡單...
設計模式2 簡單工廠模式
可維護,可復用,可擴充套件,靈活性好 通過繼承,封裝,多型將程式的耦合度降低 將計算機的計算過程獨立 為乙個功能 a.將 計算過程抽象為基類 抽象類,b.加減乘除四個子類繼承 基類 c.um 簡單工廠 繼承 空心三角形 實線 介面 空心三角形 虛線 依賴 虛線 箭頭 關聯 實線 箭頭 組合關係 實心...