Factory Method工廠方法模式

2022-02-19 10:50:11 字數 793 閱讀 8982

[testclass]

public class unittest2

}/// /// 產品抽象類 是子類concreteproduct的泛華

///

public abstract class product

/// /// 具體的產品 繼承自 product

///

public class concreteproduct : product

/// /// 例項化工廠

///

public abstract class creator

public class concretecreator : creator

}

namespace designpatterns.factorymethod

public static void test()

}public abstract class product

public class tv : product

}public class mp4 : product

}public class *** : product

}}

在具體的運用場景中比如日誌儲存方式,有遠端tcp,udp儲存,本地磁碟儲存,發郵件,這些具體的儲存方式,可以通過配置工廠方法中的種類,由呼叫者選擇具體哪種儲存方式;

工廠方法只適合統一的物件建立,就是子類和父類擁有相同的建構函式,如果建構函式不一,那麼工廠方法將很難管理起這些子類。

檢視github原始碼

工廠模式(Factory Method

意圖 工廠方法模式 factory method pattern 工廠方法模式又稱為 工廠模式 也叫虛擬構造器 virtual constructor 模式或者 多型模式 屬於類的建立型模式。在工廠方法模式中,父類負責定義建立物件 的公共介面,而子類則負責生成具體的物件,這樣做的目的是將類的例項化操...

Factory Method(工廠模式)

定義了乙個建立物件的介面,但由子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。將產品的 實現 從 使用 中解耦 1.當乙個類不知道它所必須建立的物件的類的時候 2.當乙個類希望由它的子類來指定它所建立的物件的時候 3.當想將建立物件的職責委託給多個幫助子類中的某乙個,並且希望將哪乙個幫...

工廠方法(Factory Method)

為建立的物件定義乙個抽象類,雖然該抽象類負責建立物件,但由它的實現類決定哪個類需要例項化。即不在由單個工廠類決定應該例項化哪個子類。工廠類會將這決定推遲到每個子類中完成。product page 定義乙個由工廠方法例項化的物件介面。concreteproduct skillspage,educati...