一分俯、SOLID
設計模式的六大原則有:
- Single Responsibility Principle:單一職責原則
- Open Closed Principle:開閉原則
- Liskov Substitution Principle:里氏替換原則
- Law of Demeter:迪米特法則
- Interface Segregation Principle:接口隔離原則
- Dependence Inversion Principle:依賴倒置原則
把這六個原則的首字母聯(lián)合起來(兩個 L 算做一個)就是 SOLID (solid,穩(wěn)定的)吗讶,其代表的含義就是這六個原則結合使用的好處:建立穩(wěn)定袖裕、靈活曹抬、健壯的設計。下面我們來看一下迪米特法則急鳄。
設計模式六大原則(SOLID)
二谤民、迪米特法則定義
只與你的直接朋友交談,不跟“陌生人”說話
Talk only to your immediate friends and not to strangers
其含義是:如果兩個軟件實體無須直接通信疾宏,那么就不應當發(fā)生直接的相互調用张足,可以通過第三方轉發(fā)該調用。其目的是降低類之間的耦合度坎藐,提高模塊的相對獨立性为牍。
三、迪米特法則的優(yōu)點
迪米特法則要求限制軟件實體之間通信的寬度和深度岩馍,正確使用迪米特法則將有以下兩個優(yōu)點碉咆。
- 降低了類之間的耦合度,提高了模塊的相對獨立性蛀恩。
- 由于親合度降低疫铜,從而提高了類的可復用率和系統(tǒng)的擴展性。
四双谆、掌握使用迪米特法則的平衡
過度使用迪米特法則會使系統(tǒng)產(chǎn)生大量的中介類壳咕,從而增加系統(tǒng)的復雜性励稳,使模塊之間的通信效率降低。所以囱井,在釆用迪米特法則時需要反復權衡驹尼,確保高內(nèi)聚和低耦合的同時,保證系統(tǒng)的結構清晰庞呕。
五新翎、迪米特法則的實現(xiàn)方法
從迪米特法則的定義和特點可知,它強調以下兩點:
- 從依賴者的角度來說住练,只依賴應該依賴的對象地啰。
- 從被依賴者的角度說,只暴露應該暴露的方法讲逛。
六亏吝、迪米特法則案例
一個中介,客戶只要找中介要滿足的樓盤 盏混,而不必跟每個樓盤發(fā)生聯(lián)系蔚鸥。
微服務中的網(wǎng)關,前端都請求到網(wǎng)關许赃,而不是直接請求具體的微服務止喷。