更新時間:2022-03-31 09:56:36 來源:動力節點 瀏覽1063次
Java設計模式的六大原則的定義是什么呢?小編來告訴大家。
定義:班級變更的原因只有一個
優勢 :
類復雜度降低
可讀性改進
易于維護
修改類引起的風險降低
臨界點 :
過多的除法會導致類的急劇增加,增加系統的復雜度
定義:對基類的所有引用必須透明地使用其子類的對象
優勢 :
提高代碼重用
提高代碼可擴展性
提高項目的開放性
缺點:
記住是侵入式的,只要繼承,就有父類的屬性和方法
降低代碼靈活性,子類比父類有更多的約束
增強耦合,父類的常量/變量/方法發生變化時,必須考慮對子類的修改
四定義:
子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法。
子類可以添加自己獨特的方法。
當子類的方法重載父類的方法時,方法前置條件(即方法的參數)比父方法的入參要寬松。
當子類的方法實現父類的抽象方法時,該方法的后置條件(即方法的返回值)比父類更嚴格。
定義 :
高層模塊不應該依賴低層模塊,兩者都依賴于它們的抽象(模塊之間的依賴是通過抽象產生的,實現類不直接依賴)
抽象不應該依賴于細節(接口或抽象類不依賴于實現類)
細節可以依賴于抽象(實現類依賴于接口或抽象類)
處理 :
每個類都應該有一個接口或抽象類
變量的表面類型應該是接口或抽象類
任何類都不應該從具體類派生
盡量不要重復基類的實現方法
與里氏替換原理結合使用
定義:客戶端不應該依賴不需要的接口,類之間的依賴應該基于最小的接口
四定義:
接口要盡量小,不要有臃腫的接口
接口應該是高度內聚的
只提供訪問者需要的方法,每個接口中沒有子類不能使用但必須實現的東西,可以拆分接口
接口設計限制:設計粒度越小,系統越靈活,結構越復雜,可維護性降低
處理 :
一個接口只服務一個子模塊或業務邏輯
盡量壓縮接口中的方法,保證有用,避免臃腫
嘗試修改被污染的接口,如果修改風險高,使用適配器模式轉換處理
了解有關業務邏輯的更多信息
定義:一個對象應該對其他對象有最少的了解(低耦合)
意義 :
方法盡量不引入類中不存在的對象
盡量不要暴露太多的公共方法和無定形的公共變量,盡量內向
如果一個方法在這個類中,它不會增加類之間的關系,對這個類沒有負面影響,可以放在這個類中
概括 :
核心概念是類間解耦,低耦合。負面影響是有很多中轉或跳轉類,導致系統復雜度增加,也給維護帶來困難。需要反復權衡,結構清晰,高內聚低耦合。
如果一個類需要跳轉兩次以上才能訪問另一個類,就需要想辦法重構。
定義:就是在一個新對象中使用一些已有的對象,使其成為新對象的一部分。新對象通過委托重用現有功能。
優勢 :
使用對象的組合/聚合將有助于保持每個類的封裝,并專注于單個任務。這樣,類和集成層次結構將保持較小,并且不太可能成長為無法控制的龐然大物
缺點:
以這種方式重用構建的系統將有更多的對象需要管理;為了將多個不同的對象用作復合塊,必須仔細定義接口
簡而言之:盡量使用組合優先/聚合的方式,而不是使用繼承
通過上述介紹相信大家對設計模式的六大原則的定義已經有所了解,大家如果想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容細致全面,由淺到深,適合沒有基礎的小白學習,希望對大家能夠有所幫助哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習