詳談設計模式之單列模式

2021-10-13 07:54:10 字數 942 閱讀 3577

掌握設計模式的層次

剛開始學程式設計不久,聽說過什麼是設計模式

由很長時間的程式設計經驗,自己寫了很多**,其中用到了設計模式,但是自己卻不知道

學習過了設計模式,發現自己已經在使用了,並且發現了一些新的模式挺好用的

閱讀了很多別人寫的原始碼和框架,在其中看到別人設計模式,並且能夠領會設計模式的精妙和帶來的好處。

**寫著寫著,位元組都沒有意識到使用了設計模式,並且熟練的寫了出來。

設計模式介紹

設計模式是程式設計師再面對同類軟體工程設計問題所總結出來的有用的經驗,模式不是**,而是 某類問題的通用解決方案,設計模式(design pattern)代表了最佳的實踐。這些解決方案是眾多軟體開發人員經過相當長的時間的試驗和錯誤總結出來的。

設計模式的本質提高軟體的維護性,通用性和擴充套件性,並降低軟體的複雜度。

設計模式分為三種型別,共23種

建立型模式:單例模式,抽象工廠模式,原型模式,建造者模式,工程模式。

結構型模式:介面卡模式,橋接模式,裝飾模式,組合模式,外觀模式,享元模式,**模式

行為型模式:模組方法模式,命令模式,訪問者模式,迭代模式,觀察者模式,中介者模式,備忘錄模式,直譯器模式(interpreter模式),狀態模式,策略模式,職責鏈模式(責任鏈模式)

注意:不同的書籍上對分類和名稱略有差別。

單例模式

餓漢式(靜態**塊)

懶漢式(執行緒不安全)

起到lazy loading的效果,但是只能再單執行緒下使用。

如果再多執行緒下,乙個執行緒進入if(singlenton == null) 判斷語句塊,還未來得及往下執行,另乙個執行緒也通過這個判斷語句,這是便會差生多個例項。所以再多執行緒環境下不可使用這種方式。

結論:再實際開發中,不要使用這種方式。

懶漢式(執行緒安全,同步方法)

雙重檢查

靜態內部類 列舉

單例模式在jdk應用的原始碼分析

Java設計模式之單列模式

單列模式 單一,也就是說乙個類只能有乙個物件。就類似於有些軟體只能開啟一次,當需要保證乙個物件在記憶體中的唯一性時,就需要引入單列模式。建立單列模式分三步操作 1.將建構函式私有化 2.在類中建立乙個本類物件 3.提供乙個公有的介面來返回建立的類 我們訪問類裡面的資料時,分兩種情況 1.通過例項化物...

設計模式 單列模式

何為設計模式呢?簡單的說就是能重複利用的解決方案,當碰到a專案也出現這種情況,b專案也出現這種情況 那麼是否能把這懂實現功能抽象出來,形成一種解決方案.單列模式 顧名思義就是乙個例項 即乙個物件只能初始化一次 作用 減少開闢記憶體空間,節約記憶體開銷 class program 因為a物件在記憶體堆...

設計模式 單列模式

原文 單例模式是最常用到的設計模式之一,熟悉設計模式的朋友對單例模式都不會陌生。一般介紹單例模式的書籍都會提到餓漢式和懶漢式這兩種實現方式。但是除了這兩種方式,本文還會介紹其他幾種實現單例的方式,讓我們來一起看看吧。單例模式是一種常用的軟體設計模式,其定義是單例物件的類只能允許乙個例項存在。許多時候...