天天看點

面象對象設計6大原則之六:迪米特原則

迪米特原則( LOD ), The Law Of Demeter,也稱為最少知識原則 定義

一個對象應該對其他對象有最少的了解。

也就是說一個類耦合和調用一個類應該知道的最少,它隻關心被耦合和調用的類的公共方法,而被耦合和調用的類如何複雜它并不關心。這在另一程度也說明類方法的最小權限性,不要随意定義public公開方法,你隻公開你需要公開的。

迪米特原則對類的低耦合度提出了以下幾點要求:

1、隻和朋友類交流

類與類之間的交流無需知道内部結構,其内部與其他陌生類打交道我并不關心。

2、朋友類之間的距離

一個類公開的屬性和方法越多,其被修改的可能性也會更大,是以在設計一個的時候要權衡利弊,把範圍定義在合理的範圍内。

是以,迪米特很明顯的優點是低耦合度,提高了系統的可維護性和可擴充性。 但另一方面,為了滿足這些特性而又不得不增加很多包裝的類或方法,這在一定程度上也就提高了類的複雜性。

繼續閱讀