Java創(chuàng)建類模式_動力節(jié)點Java學院整理
創(chuàng)建類模式主要關注對象的創(chuàng)建過程,將對象的創(chuàng)建過程進行封裝,使客戶端可以直接得到對象,而不用去關心如何創(chuàng)建對象。創(chuàng)建類模式有5種,分別是:
單例模式:用于得到內存中的唯一對象。
工廠方法模式:用于創(chuàng)建復雜對象。
抽象工廠模式:用于創(chuàng)建一組相關或相互依賴的復雜對象。
建造者模式:用于創(chuàng)建模塊化的更加復雜的對象。
原型模式:用于得到一個對象的拷貝。
為什么需要創(chuàng)建性模式
首先,在編程中,對象的創(chuàng)建通常是一件比較復雜的事,因為,為了達到降低耦合的目的,我們通常采用面向抽象編程的方式,對象間的關系不會硬編碼到類中,而是等到調用的時候再進行組裝,這樣雖然降低了對象間的耦合,提高了對象復用的可能,但在一定程度上將組裝類的任務都交給了最終調用的客戶端程序,大大增加了客戶端程序的復雜度。采用創(chuàng)建類模式的優(yōu)點之一就是將組裝對象的過程封裝到一個單獨的類中,這樣,既不會增加對象間的耦合,又可以最大限度的減小客戶端的負擔。
其次,使用普通的方式創(chuàng)建對象,一般都是返回一個具體的對象,即所謂的面向實現編程,這與設計模式原則是相違背的。采用創(chuàng)建類模式則可以實現面向抽象編程??蛻舳艘蟮闹皇且粋€抽象的類型,具體返回什么樣的對象,由創(chuàng)建者來決定。
再次,可以對創(chuàng)建對象的過程進行優(yōu)化,客戶端關注的只是得到對象,對對象的創(chuàng)建過程則不關心,因此,創(chuàng)建者可以對創(chuàng)建的過程進行優(yōu)化,例如在特定條件下,如果使用單例模式或者是使用原型模式,都可以優(yōu)化系統(tǒng)的性能。
總結
所有的創(chuàng)建類模式本質上都是對對象的創(chuàng)建過程進行封裝。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
如何通過ServletInputStream讀取http請求傳入的數據
這篇文章主要介紹了如何通過ServletInputStream讀取http請求傳入的數據,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10Spring-boot 2.3.x源碼基于Gradle編譯過程詳解
這篇文章主要介紹了Spring-boot 2.3.x源碼基于Gradle編譯過程詳解,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12SpringBoot2.0 整合 SpringSecurity 框架實現用戶權限安全管理方法
Spring Security是一個能夠為基于Spring的企業(yè)應用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。這篇文章主要介紹了SpringBoot2.0 整合 SpringSecurity 框架,實現用戶權限安全管理 ,需要的朋友可以參考下2019-07-07idea install 時提示jdk的某個jar包的包不存在的問題
這篇文章主要介紹了idea install 時提示jdk的某個jar包的包不存在的問題,本文給大家分享解決方法,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09java 使用DecimalFormat進行數字的格式化實例詳解
這篇文章主要介紹了java 使用DecimalFormat進行數字的格式化實例詳解的相關資料,需要的朋友可以參考下2017-06-06SpringBoot集成Sharding Jdbc使用復合分片的實踐
數據庫分庫分表中間件是采用的 apache sharding。本文主要介紹了SpringBoot集成Sharding Jdbc使用復合分片的實踐,具有一定的參考價值,感興趣的可以了解一下2021-09-09實戰(zhàn)SpringBoot集成JWT實現token驗證
本文詳細講解了SpringBoot集成JWT實現token驗證,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12