2013-03-10 5 views

Antwort

32

Es bedeutet, dass es zyklische Abhängigkeiten zwischen Paketen und Dateien.

Idealerweise möchten Sie, dass Abhängigkeiten in eine Richtung fließen. So können Sie Änderungen vornehmen und deren Auswirkungen vorhersagen. Wenn beispielsweise Ihr Paket "user interface" vom Paket "business logic" abhängt, aber nichts vom Paket "user interface" abhängt, sollten Sie Änderungen an der Benutzeroberfläche vornehmen können, ohne etwas außerhalb dieses Pakets zu beschädigen. Eine zyklische Abhängigkeit bedeutet (zum Beispiel), dass das Benutzeroberflächenpaket vom Geschäftslogikpaket abhängt, aber das Geschäftslogikpaket hängt auch vom Benutzerschnittstellenpaket ab. Wenn Sie nun die Benutzeroberfläche ändern, können Sie die Business-Logik-Ebene durchbrechen - was sich wiederum auf etwas auswirken kann, das in der Benutzeroberfläche nicht unabhängig ist.

Die Idee der "Layering" Software und Abhängigkeiten in einer einzigen Richtung zwischen den Schichten fließen, ist entworfen, um dieses Gewirr zu entfernen.

Sie können dieses Gewirr oft reduzieren, indem Sie Klassen von einem Paket in ein anderes verschieben.

Tangling ist normalerweise ein Architektur/Design-Problem.