函數的得墨忒耳法則

得墨忒耳定律也叫做“最少了解原理”,是一種軟件設計原理,尤其是應用到面向對象的程序設計中,基本原理爲:

  1. 每個對象對其他對象只能有最少的瞭解:只有總體才能接近個別對象;
  2. 每個對象只能和自己的朋友對話:不要和陌生人說話;
  3. 只和自己最親密的朋友對話。

[c-sharp] view plaincopy
  1. 函數的得墨忒耳法則規定,某個對象的任何方法都應該只調用屬於以下情形的方法:  
  2. class Demeter  
  3. {  
  4. public:  
  5.    void example(B &b);  
  6. private:  
  7.     A *a;  
  8.     int func(){}  
  9. }  
  10. void Demeter::example(B &b)  
  11. {  
  12.     C c;  
  13.     int f = func(); <------------------1. 它自身  
  14.     b.invert(); <----------------------2. 傳入該方法的任何參數  
  15.     a = new A();  
  16.     a->setActive(); <------------------3. 它創建的任何對象  
  17.     c.print(); <-----------------------4. 任何直接持有的組件對象  
  18. }  
  19. 得墨忒耳法則縮小了調用類中的響應集的規模,結果以這種方式設計的類的錯誤也往往更少。

發佈了256 篇原創文章 · 獲贊 20 · 訪問量 83萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章