Java創(chuàng)建類模式_動力節(jié)點Java學院整理
創(chuàng)建類模式主要關(guān)注對象的創(chuàng)建過程,將對象的創(chuàng)建過程進行封裝,使客戶端可以直接得到對象,而不用去關(guān)心如何創(chuàng)建對象。創(chuàng)建類模式有5種,分別是:
單例模式:用于得到內(nèi)存中的唯一對象。
工廠方法模式:用于創(chuàng)建復雜對象。
抽象工廠模式:用于創(chuàng)建一組相關(guān)或相互依賴的復雜對象。
建造者模式:用于創(chuàng)建模塊化的更加復雜的對象。
原型模式:用于得到一個對象的拷貝。
為什么需要創(chuàng)建性模式
首先,在編程中,對象的創(chuàng)建通常是一件比較復雜的事,因為,為了達到降低耦合的目的,我們通常采用面向抽象編程的方式,對象間的關(guān)系不會硬編碼到類中,而是等到調(diào)用的時候再進行組裝,這樣雖然降低了對象間的耦合,提高了對象復用的可能,但在一定程度上將組裝類的任務都交給了最終調(diào)用的客戶端程序,大大增加了客戶端程序的復雜度。采用創(chuàng)建類模式的優(yōu)點之一就是將組裝對象的過程封裝到一個單獨的類中,這樣,既不會增加對象間的耦合,又可以最大限度的減小客戶端的負擔。
其次,使用普通的方式創(chuàng)建對象,一般都是返回一個具體的對象,即所謂的面向?qū)崿F(xiàn)編程,這與設計模式原則是相違背的。采用創(chuàng)建類模式則可以實現(xiàn)面向抽象編程。客戶端要求的只是一個抽象的類型,具體返回什么樣的對象,由創(chuàng)建者來決定。
再次,可以對創(chuàng)建對象的過程進行優(yōu)化,客戶端關(guān)注的只是得到對象,對對象的創(chuàng)建過程則不關(guān)心,因此,創(chuàng)建者可以對創(chuàng)建的過程進行優(yōu)化,例如在特定條件下,如果使用單例模式或者是使用原型模式,都可以優(yōu)化系統(tǒng)的性能。
總結(jié)
所有的創(chuàng)建類模式本質(zhì)上都是對對象的創(chuàng)建過程進行封裝。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot實現(xiàn)配置多環(huán)境yml方式
在SpringBoot項目中,通過創(chuàng)建不同的YAML配置文件來實現(xiàn)多環(huán)境配置是一種常見且有效的方法,這些配置文件包括application.yml、application-dev.yml、application-prod.yml等,分別對應不同的開發(fā)環(huán)境,如開發(fā)環(huán)境、生產(chǎn)環(huán)境2024-11-11
SpringBoot3.0+SpringSecurity6.0+JWT的實現(xiàn)
本文主要介紹了SpringBoot3.0+SpringSecurity6.0+JWT的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11
看動畫學算法之Java實現(xiàn)doublyLinkedList
這篇文章主要介紹Java實現(xiàn)doublyLinkedList,LinkedList:doublyLinkedList相對比較復雜,今天就來簡單學習一下doublyLinkedList的基本操作和概,感興趣的小伙伴可以參考下面具體文章內(nèi)容2021-10-10
輕松理解Java面試和開發(fā)中的IoC(控制反轉(zhuǎn))
在Java開發(fā)中,IoC意 味著將你設計好的類交給系統(tǒng)去控制,而不是在你的類內(nèi)部控制。這稱為控制反轉(zhuǎn)。下文給大家介紹Java面試和開發(fā)中的IoC(控制反轉(zhuǎn))知識,需要的朋友參考下吧2017-07-07

