
線條
|
115
當我們畫出連結時,我們可以在圖中看到複雜程度通常來自循環。週期性的依賴關係通
常是最複雜的關係。當物件相互依賴,它們的結構就是剛性的,不容易更改,且通常非
常難以使用。要改變一個物件,通常需要改變其他的物件。物件會變成一個實體,一個
難以維護的實體。[Page-109]
這些關係種類可以藉由切斷其中一個連結來簡化。或許可以引入新的抽象介面來減少物
件間的耦合。
這種結構會提高可組合性,加入彈性,並促進可測試性(你可以在這些抽象介面之後編
寫測試版的元件)。我們可以使用一個好名字的介面來描述這些關係。
有一個我使用很久的骯髒系統看起來像是:
它表面上是一個簡單的模型:有一個父系物件代表“系統”,建立所有子物件。但是每
一個子物件都參考回父物件,所以它們互相存取。這個設計有效率地讓每一個子物件都
依賴(並變成緊密地耦合)每一個兄弟物件,將整個系統鎖定成一個剛性形狀。 ...