第一,建立產品規範,也就是產品介面
第二,根據產品規範設計真實的產品,也就是使產品類實現產品介面
第三,結合產品規範,建立工廠規範,也就是工廠介面或者抽象類,產品規範作為工廠中抽象方法(生產線)的引數
第四,根據工廠規範建立工廠,此時工廠可以生產產品了
業務需求是,現在和將來一段時間要生產各種型號的手機。
所有的手機都滿足手機的規範,比如包含打**,上網,定位等功能。
現在,小公尺公司設計了小公尺手機,蘋果公司設計了蘋果手機,它們沒有手機生產線。
有需求就有人做,富士康有大規模生產加工的經驗和能力,它準備建立手機生產線。
只要給手機設計方案,富士康就能夠產生出手機。
手機方案是滿足手機規範的,工廠根據手機規範建設生產線。
生產線根據手機設計方案生產手機。
public
inte***ce
phone
小公尺手機和蘋果手機的設計方案
public
class
xiaomiphone
implements
phone
}public
class
iphone
implements
phone
}
定義工廠的規範,工廠有一條手機生產線
public
abstract
class
extractphonefactory
public
class
phonefactory
extends
extractphonefactory catch (exception e)
return phone;
}}
當前,工廠可以生產小公尺手機和蘋果手機
public
public
static
void
main(string args)
}
public
class
huaweiphone
implements
phone
}
public
public
static
void
main(string args)
}
工廠方法模式命名非常準確。在工廠方法模式中,有兩個主體,產品和工廠。
產品一定要滿足產品規範,工廠通過產品規範來設計生產線,工廠通過產品設計方案生產產品。
一般地,工廠也需要滿足工廠規範。
jdbc 連線不同的資料庫
提高程式的可擴充套件性,降低程式之間的耦合程度。
比如,已經有乙個生產手機的工廠,它可以生產小公尺手機、蘋果手機,
現在工廠接到生產華為手機的訂單。怎麼辦?
工廠只需要華為的手機設計即可,也就是定義乙個實現了手機規範的化為手機類即可。
規範,也就是介面,或者是抽象類,
規範是各個模組通訊的橋梁。它可以是各個具體模組之間耦合關係降低。
簡單工廠模式,也就是靜態工廠模式
我們省略掉工廠規範,並將實際的工廠類中的方法設定為靜態型別,此時就是靜態工廠模式。
靜態工廠模式的缺點是,工廠類的擴充套件比較困難。
設計模式 工廠方法模式
一 工廠方法 factory method 模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到工廠子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角...
設計模式 工廠方法模式
1 factorymethod.h ifndef factorymethod h define factorymethod h include include using namespace std class osproduct 產品,product,產品的抽象類 class windowspro...
設計模式 工廠方法模式
框架的基礎知識 對框架的理解 框架和設計模式的關係 工廠方法模式 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,factory method使乙個類的例項化延遲到其子類。結構 產品 public inte ce product 具體產品 public class productimpl...