Tina Tang's Blog

在哪裡跌倒了,就在哪裡躺下來

0%

Java筆記(3)-內聚和耦合

好的程式往往追求「高內聚、低耦合」,「內聚」指的是和其它程式碼「無」相關;「耦合」指的是和其它程式碼「有」相關。

內聚

內聚(Cohesion)是指模組的獨立性,當這個模組可以獨力完成工作,就代表我們能夠重複使用它,且不需要擔心影響到其他模組,越不需要依賴其他模組,內聚力就越高

白話一點的解釋:就算自己修改了也不影響其它人(模組)。

耦合

耦合(Coupling)是指模組的關聯性,如果模組和另一個模組有關聯,那這兩者之間就耦合。例如:一個模組中的 function 使用全域變數或是接受其他模組傳入的參數,那麼這兩個模組就彼此耦合。

白話一點的解釋:牽一髮而動全身。

總結

高內聚:分類分得越精準越好。
低耦合:建立的關係越少越好。

參考資料

實務上的高內聚與低耦合
菜雞與物件導向 (8): 內聚、耦合
元件如何正確使用 ? | 元件耦合性三大原則 : ADP、SDP、SAP