明天的晨會,我需要分享一個知識點給其他同學,題目是《項目中的常用的設計模式》
以下是我的演講稿
---------------------------------------------------------------------------------------------------------------------------------
今天我分享的知識點是項目中常用的一些設計模式,那麼什麼是設計模式呢?
設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用它是爲了代碼可複用性、讓代碼更容易被他人理解和保證代碼可靠性。
從我自己的理解來說,就相當於蓋一棟樓,基本流程就是:設計師出圖紙,打地基,用磚壘,封樓頂,而動工的這些流程就可以看作是設計模式的一種。
設計模式分爲三種類型,共23種,而經常在項目中使用的有單例模式、代理模式、享元模式、裝飾者模式、策略模式、觀察者模式、適配器模式、工程模式、等。
然後讓我詳細的說說其中的單例模式在項目中的使用
單例模式:
比如說我們在系統運行時候,就需要加載一些配置和屬性,這些配置和屬性是一定存在了,又是公共的,同時需要在整個生命週期中都存在,所以只需要一份就行,這個時候如果需要我再需要的時候new一個,再給他分配值,顯然是浪費內存並且再賦值沒什麼意義,所以這個時候我們就需要單例模式或靜態方法去維持一份且僅這一份拷貝,但此時這些配置和屬性又是通過面向對象的編碼方式得到的,我們就應該使用單例模式,或者不是面向對象的,但他本身的屬性應該是面對對象的,我們使用靜態方法雖然能同樣解決問題,但是最好的解決方案也應該是使用單例模式。
## 代理模式:
數據多機房同步,機房通過代理模式同步到其他機房,來避免機房宕機
##(比如創建型模式中的:工程方法模式、抽象工廠模式、單例模式等,結構型模式中的:適配器模式、代理模式、享元模式、外觀模式等,行爲型模式中的:策略模式、觀察者模式、備忘錄模式等)