中鳥心法-高內聚、低耦合
跟蔬菜、水果沒關係…
高內聚,低耦合 (high cohesion、low coupling) 的意思是,
物件程式碼應該要有很高的比率只和物件內其他有關的程式碼有關聯,
與設計模式或開發語法無關,
而針對外部程式碼,物件或元件等的關聯度要愈低愈好 (最佳的狀態是零耦合)。
這樣做的用意是讓物件可以獨立的發展,
無須依賴外部的任何程式碼,
如此一來,物件本身可以在不影響其他程式的情況下自由的修改與變化,
而外部程式的任何修改也不會影響到物件本身的功能與運作。
對於寫慣了流程導向的程式師來說,可能還是有難度的,
因為物件導向的訓練不夠,經驗也不足,
不太容易一開始就寫出具備高內聚低耦合性質的物件,那是有點強人所難。
但若沒有練好這心法,
未來在寫程式時一樣會寫出那種 "牽一髮動全身" 的物件,
不管是內部還是外部,都會影響到原本物件的行為或是功能,
內部的還可以透過一些方法處理,但對外的耦合性往往會是最難處理的,
尤其是如果外部程式是外購的元件,
在無法動到元件的原始碼的情況下,
變得物件要因為該元件是否可正常運作而有所顧忌,
改起來可能會非常吃力。
詳細參考:
留言
張貼留言