工廠方法模式 Factory Method

工廠方法模式 Factory Method

動機(Motivation)

  • 在軟件系統中,常常面臨着建立對象的工做;因爲需求的變化,須要建立的對象的具體類型常常變化。
  • 如何應對這種變化?如何繞過常規的對象建立方法(new),提供一種「封裝機制」來避免客戶程序和這種「具體對象建立工做」的緊耦合?

模式定義

定義一個用於建立對象的接口,讓子類決定實例化哪個類。Factory Method 使得一個類的實例化延遲(目的:解耦;手段:虛函數)到子類。——《設計模式》GoFjava

結構(Structure)

要點總結

  • Factory Method 模式用於隔離類對象的使用者和具體類型之間的耦合關係。面對一個常常變化的具體類型,緊耦合關係(new)會致使軟件的脆弱。
  • Factory Method 模式經過面向對象的手法,將所要建立的具體對象工做延遲到子類,從而實現一種擴展(而非更改)的策略,較好地解決了這種緊耦合關係。
  • Factory Method 模式解決「單個對象」的需求變化。缺點在於要求建立方法/參數相同。

代碼實現

工廠方法模式-示例代碼git

相關文章
相關標籤/搜索