建立型模式有四種:factorymethod、abstractfactory、builder、prototype;再具體劃分一些:1.通過生成物件類的子類的方法建立物件:factorymethod,2.定義乙個物件負責明確產品物件類,並將它作為該系統的引數:abstractfactory、builder、prototype,abstractfactory 由這個工廠物件產生多個類的物件(每個具體工廠產生的是乙個系列產品),builder由這個工廠物件通過相對複雜的協議(這個協議由導向器封裝)逐步構建乙個複雜物件,prototype由該工廠物件通過拷貝原型物件來建立產品物件。
模式選擇通常從易到難,開始選擇factorymethod,然後根據系統需求演變到其它三種模式。abstractfactory 生成產品前需要獲取到具體的工廠,通常同乙個具體工廠生產的產品具有相同抽象類,表示了物件間的關係,其它三種模式沒有這個特徵,abstract factory -物件建立型模式 在這篇部落格中
具體工廠通常只提供建立功能,設計成單例是好的,但是在獲取具體工廠使用了反射並不是乙個好的選擇,可以通過享元模式進行優化;builder主要用來生成複雜物件,在interpreter -類行為型模式中構建的抽象語法樹,是可以使用這個模式進行優化的,將抽象語法樹的構建進行封裝,而不是讓客戶端自行構建
;prototype模式(prototype -物件建立模型 )在使用時不要在prototypemanager 返回原型對映objectmap物件(即不要提供get方法),要不然其它程式設計師可以通過objectmap修改原型,導致相同的標識通過prototypemanager 前後生成的物件不一致。
建立型模式總結
建立型模式列表 abstract factory creates an instance of several families of classes builder separates object construction from its representation factory meth...
建立型模式總結
1.簡單工廠模式.定義 簡單工廠模式 factory 又稱靜態工廠方法模式 static factory method 它專門定義乙個類來負責建立其它類的例項,被建立的類通常有相同的父類.應用場景 1.工廠類負責建立的對像型別比較少.2.客戶只知道傳入工廠類的引數,對於如何建立對像的 邏輯 不關心....
建立型模式總結
abstractfactory和builder都是建立乙個組合物件,讓組合物件可以有不同的表示,區別在於建立組合物件過程的複雜度。當只是簡單的組合時,用abstractfactory 當是乙個複雜的組合時,用builder 總結成三個字 複雜度。factorymethod和prototype都是建立...