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 對外提供方法讓其他程式獲取...