1. 程式人生 > >工廠模式與抽象工廠的比較

工廠模式與抽象工廠的比較

工廠模式:定義一個用於建立物件的介面,讓子類覺得例項化哪一個類。Factory Method使一個類的例項化延遲到了子類。
抽象工廠類:提供一個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。
二者的區別:     工廠模式:可以選擇例項化具體的哪一個類,而且工廠類建立例項有很大的自由度,可以自由選擇組合和基礎已有的工        廠類和產品類。     抽象工廠:可以理解為工廠模式的一個特例。將所有的介面都定義好,一次性將所有的產品都例項化。 二者的聯絡:     二者本質上都是將產品的類似例項化過程通過一個類進行統一管理。抽象工廠是將所有需要的介面都定義好,有不同的子類去分別實現,而工廠類只提供了一個建立介面,具體的例項化過程可以有子類自由選擇。     抽象工廠和工廠類也不是嚴格區分的,可以根據具體情況,將不需要實現的介面放到抽象工廠的介面基類中,而在子類的實現中可以採用工廠類的方法,通過組合、繼承的方法儘可能多的合理利用已存在的產品類。