2013-03-10 7 views

risposta

32

vuol dire che ci sono le dipendenze cicliche tra pacchetti e file.

Idealmente, si desidera che le dipendenze scorrano in una direzione: ciò consente di apportare modifiche e prevedere il loro impatto. Ad esempio, se il tuo pacchetto "interfaccia utente" dipende dal pacchetto "business logic", ma nulla dipende dal pacchetto "interfaccia utente", dovresti essere in grado di apportare modifiche all'interfaccia utente senza rompere nulla al di fuori del pacchetto. Una dipendenza ciclica significa (ad esempio) che il pacchetto dell'interfaccia utente dipende dal pacchetto della business logic, ma il pacchetto della business logic dipende anche dal pacchetto dell'interfaccia utente. Ora, se si modifica l'interfaccia utente, si potrebbe rompere il livello della logica aziendale, che a sua volta potrebbe influire su qualcosa di totalmente non correlato nell'interfaccia utente.

L'idea di un software di "layering" e il fatto che le dipendenze scorrono in un'unica direzione tra i livelli è progettato per rimuovere questo groviglio.

Spesso è possibile ridurre questo groviglio spostando le classi da un pacchetto a un altro.

Tangling è in genere un problema di architettura/progettazione.