Beziehungen zwischen Namespaces ermitteln

04/11/2008 - 20:19 von Stefan Offermann | Report spam
Hallo,

gibt es ein (kostenloses) Werkzeug, um die Beziehungen von Namespaces
(und deren Inhalten) zu ermitteln? Damit möchste ich die Abhàngigkeiten
verschiedener Namespaces voneinander herausbekommen. Hintergrund ist,
dass ich ein mittlerweile größeres Projekt (> 500 Klassen) in
verschiedene Assemblys aufteilen möchte, damit ich nicht immer alles
kompilieren muss.

Ist stelle mir ein Werkzeug vor, welches mir aufzeigen kann, welche
Klassen bzw. Interfaces von einem Namespace heraus aufgerufen werden und
wie oft.

Beispiel:

Der Namespace Project enthàlt die Namespaces Model, View und Controller:

namespace Project.View {
class FormA {
DataObj theData;
ControllerB controller;
}
}

namespace Project.Model {
class DataObj {
int id;
string message;
}
}

namespace Project.Controller {
class ControllerB {
void update();
void sendMessage(string msg);
}
}

Nun sollte mir das Tool zeigen können, dass der Namespace View jeweils
Klassen aus den Namespaces Model und Controller benötigt, hier also
Abhàngigkeiten zwischen den Namespaces bestehen.

Zum eigentlichen Problem: Ich will mein Projekt so auf verschiedene
Assemblys verteilen, dass möglichst wenige Abhàngigkeiten zwischen den
Namespaces über Assemblygrenzen hinaus gehen müssen (Stichwort lose
Kopplung).

Gibt es so ein Tool, welches mir diese Beziehungen aufzeigen kann?

Viele Grüße, Stefan

Stefan Offermann

research assistant, ifgi, wwu, muenster (westf.), germany
personal webpage: http://ifgi.uni-muenster.de/~offermann/
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
05/11/2008 - 00:56 | Warnen spam
"Stefan Offermann" schrieb:
gibt es ein (kostenloses) Werkzeug, um die Beziehungen von Namespaces
(und deren Inhalten) zu ermitteln?



Beachte, daß Namensràume nur lose Gruppierungen erlauben und ggf. auch über
mehrere Assemblies verteilt sein können.

Hintergrund ist, dass ich ein mittlerweile größeres Projekt (> 500
Klassen) in
verschiedene Assemblys aufteilen möchte, damit ich nicht immer alles
kompilieren muss.

Ist stelle mir ein Werkzeug vor, welches mir aufzeigen kann, welche
Klassen bzw. Interfaces von einem Namespace heraus aufgerufen werden und
wie oft.

Beispiel:

Der Namespace Project enthàlt die Namespaces Model, View und Controller:

namespace Project.View {
class FormA {
DataObj theData;
ControllerB controller;
}
}

namespace Project.Model {
class DataObj {
int id;
string message;
}
}

namespace Project.Controller {
class ControllerB {
void update();
void sendMessage(string msg);
}
}

Nun sollte mir das Tool zeigen können, dass der Namespace View jeweils
Klassen aus den Namespaces Model und Controller benötigt, hier also
Abhàngigkeiten zwischen den Namespaces bestehen.

Zum eigentlichen Problem: Ich will mein Projekt so auf verschiedene
Assemblys verteilen, dass möglichst wenige Abhàngigkeiten zwischen den
Namespaces über Assemblygrenzen hinaus gehen müssen (Stichwort lose
Kopplung).



Die Aufteilung auf mehrere Assemblies sollte m.E. einem planvollen Entwurf
folgen (und damit semantisch sinnvoll sein) und nicht nur dazu dienen,
Kompilierungs- und Auführungsgeschwindigkeiten zu optimieren bzw.
Abhàngigkeiten zu minimieren.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen