設計模式 建立型模式比較

2021-07-13 11:21:53 字數 763 閱讀 3952

在gof的《design patterns: elements of resuable object-oriented software》中列舉了5類建立型的設計模式,包括工廠方法模式(factory method)、抽象工廠模式(abstract factory)、生成器模式(builder)、單件模式(singleton)和原型模式(prototype)。建立型模式,顧名思義,是關於類初始化管理,使系統可以不關心物件是如何建立、組成以及表示。

抽象工廠模式:提供建立相關的或者相互依賴的物件簇的介面,使用者不用具體到該類簇實現的細節。

生成器模式:將乙個複雜物件的建立過程和其具體的表示形式相分離,並可以讓同乙個生成過程產生出不同的物件。

工廠方法模式:提供建立物件的介面,但是將具體建立哪個物件的決定權交過其子類。

原型模式:通過原型例項來建立更多的相同的物件。

單件模式:將類物件的建立過程交給類本身,並只能生成乙個物件。

在不同的設計要求下應該考慮不同的建立型的設計模式。個人認為除了原型模式和單件模式具有非常明顯的特點,能夠與其他建立型模式相互區分外,其他的三種模式在某種程度上存在相似之處。在考慮使用哪種建立型模式時,應該考慮應用的側重點。下表給出了各種設計模式的應用場景和他們之間的差別。

設計模式 建立型模式 原型模式

1 原型模式 prototype模式 是指 用原型例項指定建立物件的種類,並且通過拷貝這些原型,建立新的物件 2 原型模式是一種建立型設計模式,允許乙個物件再建立另外乙個可定製的物件,無需知道如何建立的細節 3 工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型...

設計模式 建立型模式

建立型模式 與物件的建立有關。1 簡單工廠模式 靜態工廠 簡單工廠關聯具體類,通過簡單工廠來建立具體的類。封裝變化到簡單工廠裡面去。工廠類 具體類 2 工廠模式 抽象工廠 具體工廠 具體類 要是新增新的類,只需要擴充套件就可以了。他們對外的行為是一致的。3 抽象工廠 抽象工廠 具體工廠 具體類 具體...

設計模式 建立型模式

建立型模式 工廠方法 核心 客戶端呼叫具體的工廠,讓工廠去決定例項化哪個具體的類。核心 為工廠類建立對應的具體的類,表現為和對應的具體類的依賴關係。抽象工廠類 inte ce productfactory 具體a工廠 class concreteproductfactorya productfact...