java基礎(11) 設計模式

2021-08-25 16:38:04 字數 1143 閱讀 2134

1.設計模式的概念

一套被反覆使用,多數人知曉的,經過分類的**設計經驗的總結

2.設計模式遵循的原則

1.開閉原則 對拓展開放 對修改關閉(介面-多個實現類)

2.黎克特制替換原則 所有基類可以出現的位置 子類一定可以出現

3.依賴倒轉原則 程式設計面向介面設計 而不是面向實現類

4.介面隔離原則 使用多個隔離的介面比單個介面要好

5.迪公尺特法則(最少知道原則) 

6.合成復用法則(盡量採用合成的方式 而不是繼承的方式)

3.設計模式的分類

建立型:當我們要建立某個類或者某些類的物件的時候 例如:工廠模式  單例模式

結構型:類於類之間的依賴關係的處理方案 例如:外觀模式 **模式

行為型:分配不同物件的責任以確定程式的邊界 例如:觀察者模式  責任鏈模式

設計模式共計23種 其中6種比較有代表性的

詳解:工廠模式:通過乙個類建立另外乙個介面或者類的物件

抽象工廠模式:使用介面或者抽象類來定義工廠 

//案例:寵物物件建立過程

單例模式(singleton):單例模式確保乙個類的物件在程式執行過程中只有乙個

餓漢式:私有化建構函式 提供靜態方法返回物件

懶漢式:私有化建構函式 提供靜態方法返回物件 並不會在最開始就建立物件 當有程式呼叫方法時才開始建立物件

外觀模式:解決類與類之間的依賴關係

案例電腦啟動

**模式:通過乙個**類物件在完成核心任務的同時完成重複性較高的次要任務

//執行資料庫操作之前需要開啟事務

//然後才能執行資料庫的增刪改查

//提交事務

觀察者模式:當乙個物件發生改變時, 其他依賴該物件的方法也要同步更新

責任鏈模式:很多物件由乙個物件連線另外乙個物件組成的一條鏈

這條鏈上的每個物件可以處理乙個複雜業務的某一部分

使用責任鏈模式可以很好的組織這個複雜業務的執行結構

責任鏈模式下分為抽象處理者角色和實際處理者角色

例如:乙個員工向領導請假的流程

此案例中 

能夠批假的角色需要抽象出來(leader)

實際處理者就是leader下的所有實際領導人groupleader deptmanager assistantmanager  manager     

JAVA基礎之設計模式

設計模式 對問題行之有效的解決方式。其實是一種思想。1.單例設計模式 解決的問題 就是可以保證乙個類在記憶體中的物件唯一性。即乙個類只建立乙個物件,多個程式呼叫時不建立物件,只是引用。比如對於多個程式使用同乙個配置資訊物件時,就需要保證該物件的唯一性。如何保證物件唯一性呢?1.不允許其他程式用new...

Java基礎 設計模式 單例模式

單例模式,顧名思義,即只能建立乙個物件,是一種十分常見的設計模式。下面介紹一下兩種比較簡單的單例模式 1 餓漢式 不可以延時載入,類載入的時候就建立物件。如果沒有用到這個物件的話,就會導致資源浪費。2 懶漢式 可以延時載入,即用到物件的時候再new物件。但是必須考慮同步問題,如果不考慮,當多個執行緒...

Java 單例設計模式(基礎)

對問題的行之有效的解決方法,其實它是一種思想。不要固化。1,單例設計模式。解決的問題 保證乙個類在記憶體中的物件唯一性。必須對於多個程式使用同一配置資訊物件時,就該保證物件唯一性。如何保證物件唯一性?1 不可以讓其他程式用new建立物件。2 在該類中,建立乙個本類例項。3 對外提供方法讓其他程式獲取...