最少知識原則(Least Knowledge Principle,LKP)又叫做迪米特法則(Law of Demeter,LoD),它的定義是:只與你的直接朋友交談,不跟「陌生人」說話。對象
其含義是:若是兩個軟件實體無須直接通訊,那麼就不該當發生直接的相互調用,能夠經過第三方轉發該調用。其目的是下降類之間的耦合度,提升模塊的相對獨立性。ip
迪米特法則中的「直接朋友」包含:ci
1.當前對象自己ast
2.當前對象的成員對象軟件
3.當前對象所建立的對象方法
4.當前對象的方法參數通信
5.當前對象的方法返回值參數
這些對象同當前對象存在關聯、聚合或組合關係,能夠直接訪問這些對象的方法。
從迪米特法則的定義和特色可知,它強調如下兩點:
1.從依賴者的角度來講,只依賴應該依賴的對象。
2.從被依賴者的角度說,只暴露應該暴露的方法。