2013-03-10 10 views

回答

32

這意味着,還有包和文件之間的依賴關係的週期性。

理想情況下,您希望依賴關係在一個方向上流動 - 這允許您進行更改並預測其影響。例如,如果您的「用戶界面」包依賴於「業務邏輯」包,但不依賴於「用戶界面」包,則應該能夠更改用戶界面而不破壞包之外的任何內容。循環依賴意味着(例如)用戶界面包取決於業務邏輯包,但業務邏輯包也取決於用戶界面包。現在,如果更改用戶界面,則可能會破壞業務邏輯層 - 這反過來可能會影響用戶界面中完全不相關的事情。

「分層」軟件的想法,並且具有依賴性在層之間單向流動,旨在消除這種糾結。

您可以通過將類從一個包移動到另一個來減少這種纏結。

Tangling通常是一個架構/設計問題。

相關問題