創建類模式主要關注對象的創建過程,將對象的創建過程進行封裝,使客戶端可以直接得到對象,而不用去關心如何創建對象。創建類模式有5種,分別是:
為什么需要創建性模式
首先,在編程中,對象的創建通常是一件比較復雜的事,因為,為了達到降低耦合的目的,我們通常采用面向抽象編程的方式,對象間的關系不會硬編碼到類中,而是等到調用的時候再進行組裝,這樣雖然降低了對象間的耦合,提高了對象復用的可能,但在一定程度上將組裝類的任務都交給了最終調用的客戶端程序,大大增加了客戶端程序的復雜度。采用創建類模式的優點之一就是將組裝對象的過程封裝到一個單獨的類中,這樣,既不會增加對象間的耦合,又可以最大限度的減小客戶端的負擔。
其次,使用普通的方式創建對象,一般都是返回一個具體的對象,即所謂的面向實現編程,這與設計模式原則是相違背的。采用創建類模式則可以實現面向抽象編程??蛻舳艘蟮闹皇且粋€抽象的類型,具體返回什么樣的對象,由創建者來決定。
再次,可以對創建對象的過程進行優化,客戶端關注的只是得到對象,對對象的創建過程則不關心,因此,創建者可以對創建的過程進行優化,例如在特定條件下,如果使用單例模式或者是使用原型模式,都可以優化系統的性能。
總結
所有的創建類模式本質上都是對對象的創建過程進行封裝。