七大设计原理
1、開閉原則
? ?其他六大設計原則的基礎。。。
? ?對擴展開放,對修改關閉。
? 開閉原則是所有原則的基礎,就是設計程序時盡量做到新增模塊而不是在原有的基礎上進行修改。
2、迪米特法則
只與直接的盆友通信
一個對象之中要依賴另一個對象,那這個對象和所依賴的對象就是盆友。
直接的盆友有三種
*成員變量
*方法的參數類型
*方法的返回值類型
?迪米特法則就是方法內部的依賴最好是直接的盆友,但沒必要為這個法則而進行程序的編寫,還是要宏觀考慮代碼的復雜性。
3、里式替換原則
子類可以擴展父類的功能但子類不可以修改父類的功能。
子類可以實現父類的抽象方法,但是子類不能覆蓋父類的抽象方法。
子類中可以擴展自己的方法。
? 里式替換原則并非是讓我們盡量避免使用繼承,而是給繼承制定了規則,就是子類盡量不要重寫父類的方法。
4、依賴倒置原則
注重面向接口的編程,設計松耦合的程序
抽象:接口,抽象類
細節:實現類
依賴關系的三種傳遞方式 (1)、通過接口傳遞。(2)、通過構造方法傳遞。(3)、通過set方法傳遞。
? 依賴倒置原則就是讓我們在設計程序的時候,要注重接口的設計,設計抽象類,通過實體類的實現,在調用同一個接口的過程中來實現不同的功能,提高代碼的低耦合性。
5、接口隔離原則
類間的依賴關系應該建立在最小的接口上(一個接口實現對應的功能)
接口隔離原則就是對接口的拆分,避免不必要的方法被實現類給實現。
6、單一職責原則
一個類只有一個職責(類級別的單一職責原則/方法級別的單一職責原則)
合理的職責分解
? ?單一職責原則就是在實際類或者方法時,盡量細粒化程序,不要寫臃腫的代碼,盡量實現類級別的單一職責原則。
單一職責原則與接口隔離原則的
相同點:都是對系統進行拆分,要求更小的顆粒度,希望減少耦合。
不同點:審視的角度不同
? ? ? ? ? ?單一職責原則是類與接口的職責單一,要注重內容的設計。
?? ? ? ? ? 接口隔離原則是要求我們盡量使用多個接口,注重接口的設計。
在使用接口隔離原則進行接口的拆分時要遵循單一職責原則。
7、合成復用原則
盡量使用組合/聚合的方式而不是繼承
? 合成復用原則有些叫六大原則 ,有些叫七大原則,六大原則不包含合成復用原則,他的意思是類與類之間的依賴最好用調用或者參數傳參的方式調用另一個類的方法,而不是使用繼承。
設計原則的核心思想
1、找出應用中可能需要變化之處,獨立出來,不要和不需要變化的代碼混在一起。
2、針對接口編程,而不是針對實現編程。
3、為了交互對象的松耦合設計而努力。
遵循設計原則就是為了讓程序:高內聚,低耦合
總結
- 上一篇: 05-中央处理器
- 下一篇: PySpark机器学习 ML