6大设计原则之迪米特法则
迪米特法則的定義
迪米特法則也稱為最少知識原則,一個對象應該對其他對象有最少的了解. 通俗的講,一個類應該對自己需要耦合或調用的類知道的最少,被調用類的內部是如何復雜都和我沒關系,我就知道你的這些public方法,我就調用這么多,其他的我一概不關心.
迪米特法則對類的低耦合提出了要求
1.只和朋友交流
什么是朋友呢?
出現在成員變量、方法的輸入輸出參數中的類稱為朋友類,而出現在方法體內部的類不屬于朋友類.
注意: 一個類只與朋友交流,不與陌生類交流,類與類之間的關系是建立在類間的,而不是方法間,因此一個方法盡量不引入一個類中不存在的對象,當然,JDK API提供的類除外
2.朋友間也是有距離的
一個類公開的public屬性或方法越多,修改時設計的面也就越大,變更引起的風險擴散也就越大.因此,為了保持朋友類間的距離,在設計時需要反復衡量:是否還可以再減少public方法和屬性,是否可以修改為private,protected等訪問權限,是否可以加上final關鍵字等,迪米特法則要求類盡量不要對外公布太多的public方法和非靜態的public變量.
3.是自己的就是自己的
在實際開發中經常會出現這樣一個方法:放在本類中也可以,放在其他類中也沒有錯,那怎么去衡量呢?可以堅持這樣一個原則: 如果一個方法放在本類中,既不增加類間關系,也對本類不產生負面影響,那就放置在本類中.
迪米特法則的核心觀念就是類間解耦,弱耦合,只有弱耦合了以后,類的復用率才可以提高.其要求的結果就是產生了大量的中轉或跳轉類,導致系統的復雜性提高,同時也為維護帶來了難度.在采用迪米特原則時需要反復權衡,既做到讓結構清晰,有做到高內聚低耦合
總結
以上是生活随笔為你收集整理的6大设计原则之迪米特法则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k6前级效果器怎么用_新手学习电吉他,效
- 下一篇: Java集合之HashSet源码分析