Freitag, 9. April 2010

NDepend einmal angewendet

In meinem kleinen Bericht zu NDepend hatte ich einen Screenshot eines Abhängigkeitsgraphen von einem Aktuellen Projekt. Auf diesem sieht man zyklische Abhängigkeiten zwischen Namespaces.

Diese erkennt man daran, dass die Pfeile in beide Richtungen Zeigen. Nehmen wir als Beispiel die Verbindung zwischen Scrum.Org.ApplicationLayer und Scrum.Org.TeamConfiguration. Diese Abhängigkeit entsteht dadurch, dass in ApplicationLayer eine Factory ist, die mir bestimmte Klassen der TeamConfiguration erzeugt. Die Klassen der TeamConfiguration wiederum verwenden die Factory um selbst neue Klassen zu instanziieren.

Um diesen Kreis aufzulösen habe ich die einzelnen Factory-Methoden, die nur die Teamconfiguration verwendet, in ein eigenes Interface ITeamApplicationFactory gesteckt und das Interface in den entsprechenden Namespace verschoben. Der daraus resultierende Graph sieht nun so aus.


Hier sieht man nun keine zirkularen Abhängikeiten mehr und die Klassenhirachie gefällt mir auch besser.

1 Kommentar:

  1. Hallo Armin,

    interesanter Artikel. Wie gehts sonst so?

    Grüße
    Sven

    AntwortenLöschen