參考:螞蟻課堂
先實戰再總結,基於車的兩個品牌:奧迪和賓士 實現工廠模式和簡單工廠
1. 都屬於汽車,建立汽車介面
public inte***ce car
2. 奧迪實現car介面
public class aodi implements car
}
3. 賓士實現car介面
public class benchi implements car
}
4. 汽車工廠(通過判斷哪個品牌,就造哪個品牌的車)
public class ca***ctory
return car;
}}
5. main方法呼叫工廠造車
public static void main(string args)
前三步都不變,建立具體類實現car介面
4. 建立奧迪工廠
public class aodifactory
}
5. 建立賓士工廠
public class benchifactory
}
6. main方法呼叫各自的工廠建立
public static void main(string args)
ps:工廠設計模式也可以寫乙個工廠介面,不同工廠呼叫
簡單工廠模式:只有乙個工廠,對每個需求判斷,不同需求有不同呼叫
工廠設計模式:有多個工廠,呼叫不同工廠建立不同例項
(ps:工廠設計模式也可以宣告乙個公共的工廠介面,不同工廠實現這個介面,更方便區分功能)
簡單工廠設計模式與工廠設計模式
工廠設計模式的目的 降低呼叫者和實現者之間的耦合度。當需求發生變化 增加或改變 時,不改變原有 的結構。1.簡單工廠設計模式 優點 降低了呼叫者和實現者之間的耦合度。當引入乙個新的實現型別時,只需要增加乙個實現類,然後修改工廠類即可。缺點 只適用於層次結構較為簡單的情況。如果可能的實現型別很多,工廠...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...
設計模式(簡單工廠模式 工廠模式 抽象工廠模式)
當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...