定義:定義乙個用於建立物件的介面,讓子類決定例項化哪個類。工廠方法使乙個類的例項化延遲到子類中。
優點:將例項化產品物件的具體過程隱藏,高層模組只需要知道產品的抽象類,其他的實現都不用關心,降低了模組之間的耦合,且產品擴充套件更加方便。
抽象工廠模式
抽象工廠模式是工廠模式的延伸,與工廠模式一樣延遲例項初始化到子類中,抽象工廠模式的特點是有有更多的具體工廠。
inte***ce fruitgardener
override
funfactory()
: fruit
}
inte***ce fruit
override
fungrow()
override
funharvest()
override
funplant()
}
class mainactivity :()
}
看到上面那麼多**,難免會有人疑惑,我就想建立個物件,為什麼有這麼多繁雜的步驟?
這就是設計模式精髓所在了,在通常簡單業務邏輯下根本無需設計模式,設計模式存在的意義就是在複雜環境下為了重用**、使**更易理解並保證**的可靠性。
作為客戶端開發者更多是面向ui和網路介面開發,對於上述的工廠模式,他們基本都用不上,不過這個在服務端應該是非常常見。
設計模式(二) 工廠模式(工廠方法)
之前學習了簡單工廠我們明白了,簡單工廠雖然有一定的好處,但是還不夠好,它無法滿足開閉原則,我們在如果新增產品的話,就需要更改已有的工廠類。工廠方法模式就是在簡單工廠的基礎上,滿足開閉原則,讓我們只需要新增類就好,不用去更改已有 展示下之前的database mysql sqlserver三個類。pa...
設計模式(二) 工廠方法模式
工廠方法 factory method 模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品...
設計模式二 工廠方法模式
在眾多設計模式裡面使用最多的乙個就是工廠方法模式,下面我們先來看乙個例子 抽象產品 inte ce iproduct 具體產品 class product implements iproduct 抽象工廠 inte ce ifactory 具體工廠 class factory implements ...