2013-03-10 25 views

Odpowiedz

32

Oznacza to, że nie są cykliczne zależności między pakietami i plików.

Idealnie, gdy zależności mają płynąć w jednym kierunku - pozwala to wprowadzać zmiany i przewidywać ich wpływ. Na przykład, jeśli twój pakiet "interfejsu użytkownika" zależy od pakietu "logiki biznesowej", ale nic nie zależy od pakietu "interfejs użytkownika", powinieneś być w stanie wprowadzać zmiany w interfejsie użytkownika bez naruszania czegokolwiek poza tym pakietem. Cykliczna zależność oznacza (na przykład), że pakiet interfejsu użytkownika zależy od pakietu logiki biznesowej, ale pakiet logiki biznesowej zależy również od pakietu interfejsu użytkownika. Teraz, jeśli zmienisz interfejs użytkownika, możesz złamać warstwę logiki biznesowej - co z kolei może wpłynąć na coś zupełnie niezwiązanego z interfejsem użytkownika.

Idea oprogramowania "warstwowego" i posiadanie zależności w jednym kierunku pomiędzy warstwami ma na celu usunięcie tej plątaniny.

Bardzo często można zmniejszyć to splątanie przenosząc klasy z jednego pakietu do drugiego.

Tangling jest zwykle problemem związanym z architekturą/projektowaniem.

Powiązane problemy