python工廠模式 簡書 3 工廠模式

2021-10-13 06:25:38 字數 1427 閱讀 9398

1.介紹:

模式名稱:工廠模式

解決方案:定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。讓其子類實現工廠介面,返回的也是乙個抽象的產品。

2.遵守的原則:

開閉原則:對擴充套件開放,對修改關閉

依賴倒轉原則:要針對介面程式設計,不要針對實現程式設計

迪公尺特法則:只與你的直接朋友通訊,避免和陌生人通訊

3.分類

簡單工廠模式(靜態工廠模式)

1.抽象產品

public inte***ce car else if(name.equals("特斯拉"))else if(name.equals("林肯"))else{

return null;

4.測試

public class customer {

public static void main(string args) {

// car car1 = new wuling();

// car car2 = new tesla();

car car1 = ca***ctory.getcar("五菱");

car car2 = ca***ctory.getcar("特斯拉");

car car3 = ca***ctory.getcar("林肯");

car1.getname();

car2.getname();

car3.getname();

抽象工廠

1.抽象產品(同上)

2.具體產品(同上)

3.抽象工廠

public inte***ce ca***ctory {

car getcar();

4.具體工廠

public class linkenfactory implements ca***ctory {

@override

public car getcar() {

return new linken();

public class teslafactory implements ca***ctory {

@override

public car getcar() {

return new tesla();

5.測試

public class customer {

public static void main(string args) {

car car1 = new teslafactory().getcar();

car car2 = new wulingfactory().getcar();

car car3 = new linkenfactory().getcar();

car1.getname();

car2.getname();

car3.getname();

3 工廠模式

3 工廠模式 定義 為建立物件定義乙個介面,讓子類決定例項化那個類。工廠方法讓乙個類的例項化延遲至子類。工作模式封裝了例項化過程,client無需關心例項化的細節。使用工廠模式的場景 i.client不關心那個具體類,只關心實現的功能 ii.建立過程比較複雜 eg.讀取配置,初始化其他基礎類 iii...

python工廠模式 python實現工廠模式

我們有乙個基類person,包含方法get name和get gender 有兩個子類male 和female,建構函式可以打招呼。還有乙個工廠類。工廠類有乙個方法名get person有兩個輸入引數,名字和性別。使用者使用工廠類,通過呼叫get person方法。在程式執行期間,使用者通過性別傳遞...

Python3 設計模式 工廠模式

本文由 luzhuo 編寫,請保留該資訊.原文 以下 以python3.6.1為例 less is more 工廠模式屬於建立類的模式 工廠模式分為 工廠方法設計模式 抽象工廠設計模式 coding utf 8 factory.py 工廠方法設計模式 根據傳入引數的不同,而返回對應的物件 案例 你去...