[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...