DAY17
1.設計模式
- 概念:是一些前人總結出來的值得學習的編程“套路”,設計模式一共有23種
- 單例設計模式:確保代碼中本類的實體只有一個
- 實作思路:
方案一:餓漢式
1)把本類的構造方法私有化–為了不讓外界呼叫建構式來創建物件
2)通過本類的構造方法創建物件,并把這個物件也私有化,為了防止外界呼叫
3)提供一個公共且靜態的方法,回傳剛剛創建好的物件
注意:公共方法需要設定成靜態–需要跳過物件,通過類名直接呼叫這個回傳本類物件的公共方法
物件也需要設定成靜態的–這個物件需要在靜態方法中被回傳,而靜態只能呼叫靜態
方案二:懶漢式
==延遲加載的思想:==我們有的時候有些資源并不是需要第一時間就創建出來,所以需要延遲到需要時再創建
這樣既可以提升性能,又可以節省資源
1)把本類的構造方法私有化–為了不讓外界呼叫建構式來創建物件
2)創建了一個本型別別的參考型別變數【這個變數后續用來保存創建出來的物件的地址值】
3)提供一個公共且靜態的方法,回傳剛剛創建好的物件
注意:這個公共的方法里,需要做判斷
如果變數的值為初始值null:說明之前沒有創建過物件,創建物件后再將物件的地址值賦值給參考型別變數,并把它回傳
如果參考型別的變數值不為null,說明:之前已經創建過物件了,這個參考型別變數保存就是地址值,本次不再新建物件,直接回傳
注意:由于有共享資料,并且多條陳述句操作這個single2,所以注意同步
這個只是一個開始,遠遠沒有結束,大家還可以繼續拓展:裝飾者 建造者 工廠
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302432.html
標籤:AI
