public
class
course
boss類
public
class
boss
teamleader.
checknumberofcourses
(courselist);}
}
teamleader類
public
class
teamleader
}
test測試類
public
class
test
}
這樣做沒有啥問題,但違反了迪公尺特法則,boss類不需要和course類發生交流,他只需和teamleader類發生交流即可。
uml類圖如下:
course類應由teamleader類建立,不應由boss類建立.所以我們改進為如下**:
boss類:
public
class
boss
}
course類
public
class
course
teamleader類
public
class
teamleader
system.out.
println
(+courselist.
size()
);}}
test測試類
public
class
test
}
uml類圖如下:
現在course類由teamleader類建立即可,boss類直接向teamleader類下命令即可。
迪公尺特法則
定義 乙個物件應該對其他物件保持最少的了解。問題由來 類與類之間的關係越密切,耦合度越大,當乙個類發生改變時,對另乙個類的影響也越大。解決方案 盡量降低類與類之間的耦合。自從我們接觸程式設計開始,就知道了軟體程式設計的總的原則 低耦合,高內聚。無論是面向過程程式設計還是物件導向程式設計,只有使各個模...
迪公尺特法則
自從我們接觸程式設計開始,就知道了軟體程式設計的總的原則 低耦合,高內聚。無論是面向過程程式設計還是物件導向程式設計,只有使各個模組之間的耦合盡量的低,才能提高 的復用率。怎麼樣程式設計才能做到低耦合呢?那正是迪公尺特法則要去完成的。類與類之間的關係越密切,耦合度越大,當乙個類發生改變時,對另乙個類...
迪公尺特法則
迪公尺特法則又稱為最少知識法則,即 如果兩個類不必彼此直接通訊,那麼這兩個類就不應該發生直接的相互作用。如果其中乙個類需要呼叫另乙個類的某乙個方法的話,可以通過第三方來 這個呼叫。迪公尺特法則特別強調的是類之間的松耦合,即在類的結構設計上,每乙個類都應該盡量降低成員的訪問許可權。我們在進行程式設計時...