一個對象應該對其他對象有最少的了解。
也就是說一個類耦合和調用一個類應該知道的最少,它隻關心被耦合和調用的類的公共方法,而被耦合和調用的類如何複雜它并不關心。這在另一程度也說明類方法的最小權限性,不要随意定義public公開方法,你隻公開你需要公開的。
迪米特原則對類的低耦合度提出了以下幾點要求:
1、隻和朋友類交流
類與類之間的交流無需知道内部結構,其内部與其他陌生類打交道我并不關心。
2、朋友類之間的距離
一個類公開的屬性和方法越多,其被修改的可能性也會更大,是以在設計一個的時候要權衡利弊,把範圍定義在合理的範圍内。
是以,迪米特很明顯的優點是低耦合度,提高了系統的可維護性和可擴充性。 但另一方面,為了滿足這些特性而又不得不增加很多包裝的類或方法,這在一定程度上也就提高了類的複雜性。