2011-02-10 116 views

回答

4

用工廠的基本思想是,函數返回從已知基類派生的堆分配對象。因此,在你的情況下,你可能會在你的主應用程序中有一些代碼調用dll中的工廠,找回未知動態類型和實現的對象,但你會知道它滿足特定基類的API要求。然後通過該接口使用該對象,並通過其大概的虛擬析構函數將其刪除。取決於實際派生類的選擇方式,工廠方法有多種類型,但通常它會檢查函數的一些輸入,IO流或XML結構等,並計算出適當的類型。工廠是否在dll中對這裏的整體模型沒有什麼影響,但它確實可以更容易地更新派生對象的列表和實現,而無需重新編譯應用程序。

欲瞭解更多詳情,請參閱:http://en.wikipedia.org/wiki/Factory_method_pattern

3

工廠方法是一種創建模式。這種模式有助於爲創建一個對象建立一個接口的模型,在創建時它可以讓它的子類決定實例化哪個類。我們稱之爲工廠模式,因爲它負責「製造」一個對象。它有助於通過從一組相關類創建正確的對象來實例化適當的子類。 Factory Pattern通過消除將特定於應用程序的類綁定到代碼中的需求來促進鬆耦合。

工廠模式是所有關於「定義的界面,用於創建一個對象,但讓子類決定實例哪個類工廠方法使一個類的實例化延遲到子類。」因此:「工廠方法讓一個類將實例化延遲到子類「。

查看此爲One typical use of the Factory Pattern in a Component Object Model (COM) application