Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um die allgemeine logische Architektur Ihres Softwaresystems zu visualisieren, erstellen Sie in Visual Studio ein Abhängigkeitsdiagramm. Um sicherzustellen, dass Ihr Code mit diesem Entwurf konsistent bleibt, überprüfen Sie Den Code mit einem Abhängigkeitsdiagramm. Sie können Abhängigkeitsdiagramme für Visual C# und Visual Basic Projekte erstellen. Welche Editionen von Visual Studio dieses Feature unterstützen, finden Sie unter Edition-Unterstützung für Architektur- und Modellierungstools.
Mit einem Abhängigkeitsdiagramm können Sie Visual Studio Lösungselemente in logische, abstrakte Gruppen namens layers organisieren. Sie können Ebenen verwenden, um wichtige Aufgaben zu beschreiben, die diese Artefakte ausführen, oder die Hauptkomponenten des Systems.
Jede Ebene kann andere Ebenen enthalten, die detailliertere Aufgaben beschreiben. Sie können auch die beabsichtigten oder vorhandenen Abhängigkeiten zwischen Ebenen angeben. Diese Abhängigkeiten, dargestellt als Pfeile, zeigen die Ebenen an, die die von anderen Ebenen dargestellte Funktionalität verwenden oder verwenden können. Um die Architekturkontrolle des Codes beizubehalten, zeigen Sie die beabsichtigten Abhängigkeiten vom Diagramm an, und überprüfen Sie dann den Code anhand des Diagramms.
Video: Überprüfen Ihrer Architekturabhängigkeiten in Echtzeit
Erstellen eines Abhängigkeitsdiagramms
Bevor Sie ein Abhängigkeitsdiagramm erstellen, stellen Sie sicher, dass Ihre Lösung über ein Modellierungsprojekt verfügt.
Important
Fügen Sie kein vorhandenes Abhängigkeitsdiagramm von einem Modellprojekt in ein anderes Modellierungsprojekt oder an eine andere Stelle in der Lösung hinzu, ziehen oder kopieren Sie es. Dadurch bleiben die Verweise aus dem ursprünglichen Diagramm erhalten, auch wenn Sie das Diagramm ändern. Dadurch wird auch verhindert, dass die Layer-Validierung ordnungsgemäß funktioniert und könnte andere Probleme verursachen, wie fehlende Elemente oder andere Fehler, wenn Sie versuchen, das Diagramm zu öffnen.
Fügen Sie stattdessen dem Modellierungsprojekt ein neues Abhängigkeitsdiagramm hinzu. Kopieren Sie die Elemente aus dem Quelldiagramm in das neue Diagramm. Speichern Sie sowohl das Modellierungsprojekt als auch das neue Abhängigkeitsdiagramm.
Hinzufügen eines neuen Abhängigkeitsdiagramms zu einem Modellierungsprojekt
Hinweis
Abhängigkeitsdiagramme für .NET Core-Projekte werden ab version 16.2 Visual Studio 2019 unterstützt.
Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Ihr Modellierungsprojekt, und wählen Sie Add>Neues Element aus.
Wählen Sie im Fenster " Neues Element hinzufügen " die Option "Abhängigkeitsüberprüfungsdiagramm" aus, geben Sie unten im Fenster einen Namen für das Diagramm ein, und wählen Sie dann "Hinzufügen" aus.
Drag-and-Drop oder Kopieren und Einfügen aus einer Code-Karte
Generieren Sie eine Codekarte für die Lösung über das Architektur-Menü.
Erwägen Sie das Anwenden eines Codezuordnungsfilters, um Lösungsordner und "Testobjekte" zu entfernen, wenn Sie nur Abhängigkeiten im Produktcode erzwingen möchten.
Entfernen Sie auf der generierten Codezuordnung den Knoten "Extern", oder erweitern Sie ihn, um externe Assemblys anzuzeigen, je nachdem, ob Sie Namespaceabhängigkeiten erzwingen möchten. Löschen Sie nicht benötigte Assemblys aus dem Code Map.
Fügen Sie dem Projekt "Abhängigkeitsüberprüfung" in Ihrer Projektmappe ein Element " Abhängigkeitsüberprüfungsdiagramm" hinzu.
Wählen Sie alle Knoten auf der Codezuordnung aus (verwenden Sie STRG + A, oder verwenden Sie die Gummibandauswahl, indem Sie die UMSCHALTTASTE drücken, bevor Sie klicken, ziehen und loslassen).
Ziehen und ablegen oder kopieren und einfügen Sie die ausgewählten Elemente in das neue Abhängigkeitsüberprüfungsdiagramm.
Dies zeigt die aktuelle App-Architektur. Entscheiden Sie, was die Architektur sein soll, und ändern Sie das Abhängigkeitsdiagramm entsprechend.
Erstellen von Ebenen aus Artefakten
Sie können Ebenen aus Visual Studio Lösungselementen erstellen, z. B. Projekte, Codedateien, Namespaces, Klassen und Methoden. Dadurch werden automatisch Verknüpfungen zwischen Ebenen und Elementen erstellt, die in den Validierungsprozess für Ebenen und Elemente einbezogen werden.
Sie können Ebenen mit Elementen verknüpfen, die keine Überprüfung unterstützen, z. B. Word Dokumente oder PowerPoint Präsentationen. Auf diese Weise können Sie eine Ebene mit Spezifikationen oder Plänen verknüpfen. Sie können Ebenen auch mit Dateien in Projekten verknüpfen, die für mehrere Apps freigegeben werden, aber der Überprüfungsprozess schließt diese Ebenen nicht ein, die mit generischen Namen wie "Layer 1" und "Layer 2" angezeigt werden.
Um festzustellen, ob ein verknüpftes Element die Überprüfung unterstützt, öffnen Sie den Layer-Explorer , und überprüfen Sie die Supports Validation-Eigenschaft des Elements. Siehe Verwalten von Links zu Artefakten.
| bis | Führen Sie die folgenden Schritte aus: |
|---|---|
| Erstellen einer Ebene für ein einzelnes Artefakt |
Wichtig: Durch Ziehen von Binärdateien in das Abhängigkeitsdiagramm werden ihre Verweise nicht automatisch auf das Modellierungsprojekt hinzugefügt. Fügen Sie die Binärdateien, die Sie überprüfen möchten, manuell zum Modellierungsprojekt hinzu. So fügen Sie dem Modellierungsprojekt Binärdateien hinzu
|
| Erstellen einer einzelnen Ebene für alle ausgewählten Artefakte | Ziehen Sie alle Artefakte gleichzeitig auf das Abhängigkeitsdiagramm. Im Diagramm wird eine Ebene angezeigt und mit allen Artefakten verknüpft. |
| Erstellen einer Ebene für jedes ausgewählte Artefakt | Halten Sie die UMSCHALTTASTE gedrückt, während Sie alle Artefakte gleichzeitig in das Abhängigkeitsdiagramm ziehen. Hinweis: Wenn Sie die UMSCHALTTASTE verwenden, um einen Bereich von Elementen auszuwählen, lassen Sie die Taste los, nachdem Sie die Artefakte ausgewählt haben. Halten Sie es weiterhin gedrückt, wenn Sie die Artefakte zum Diagramm ziehen. Im Diagramm wird eine Ebene für jedes Artefakt angezeigt und mit den einzelnen Artefakten verknüpft. |
| Hinzufügen eines Artefakts zu einer Ebene | Ziehen Sie das Artefakt auf die Ebene. |
| Erstellen einer neuen nicht verknüpften Ebene | Erweitern Sie in der Toolbox den Abschnitt " Abhängigkeitsdiagramm" , und ziehen Sie dann eine Ebene auf das Abhängigkeitsdiagramm. Um mehrere Ebenen hinzuzufügen, doppelklicken Sie auf das Tool. Wenn Sie fertig sind, wählen Sie das Zeigertool aus, oder drücken Sie die ESC-TASTE . -oder- Öffnen Sie das Kontextmenü für das Abhängigkeitsdiagramm, und wählen Sie "Hinzufügen" und dann "Ebene" aus. |
| Erstellen geschachtelter Ebenen | Ziehen Sie eine vorhandene Ebene auf eine andere Ebene. -oder- Öffnen Sie das Kontextmenü für eine Ebene, wählen Sie "Hinzufügen" und dann "Ebene" aus. |
| Erstellen Sie eine neue Ebene, die zwei oder mehr vorhandene Ebenen enthält. | Wählen Sie die Ebenen aus, öffnen Sie das Kontextmenü für Ihre Auswahl, und wählen Sie dann "Gruppieren" aus. |
| Ändern der Farbe einer Ebene | Legen Sie dessen Color-Eigenschaft auf die gewünschte Farbe fest. |
| Geben Sie an, dass Artefakte, die einer Ebene zugeordnet sind, nicht zu den angegebenen Namespaces gehören sollen. | Geben Sie die Namespaces in die Eigenschaft "Forbidden Namespaces" der Ebene ein. Verwenden Sie ein Semikolon (;), um die Namespaces zu trennen. |
| Geben Sie an, dass Artefakte, die einer Ebene zugeordnet sind, nicht von den angegebenen Namespaces abhängen können. | Geben Sie die Namespaces in die Eigenschaft "Verbotene Namespaceabhängigkeiten" der Ebene ein. Verwenden Sie ein Semikolon (;), um die Namespaces zu trennen. |
| Geben Sie an, dass artefakte, die einer Ebene zugeordnet sind, zu einem der angegebenen Namespaces gehören müssen. | Geben Sie den Namespace in die Eigenschaft "Required Namespaces" der Ebene ein. Verwenden Sie ein Semikolon (;), um die Namespaces zu trennen. |
Die Zahl auf einer Ebene gibt die Anzahl der Artefakte an, die mit der Ebene verknüpft sind. Denken Sie beim Lesen dieser Zahl jedoch daran:
Wenn eine Ebene mit einem Artefakt verknüpft ist, das andere Artefakte enthält, aber die Ebene nicht direkt mit den anderen Artefakten verknüpft ist, enthält die Zahl nur das verknüpfte Artefakt. Die anderen Artefakte werden jedoch während der Layerüberprüfung zur Analyse einbezogen.
Wenn beispielsweise eine Ebene mit einem einzelnen Namespace verknüpft ist, ist die Anzahl der verknüpften Artefakte 1, auch wenn der Namespace Klassen enthält. Wenn die Ebene auch Verknüpfungen zu den einzelnen Klassen im Namespace hat, enthält die Zahl die verknüpften Klassen.
Wenn eine Ebene andere Ebenen enthält, die mit Artefakten verknüpft sind, ist die Containerebene auch mit diesen Artefakten verknüpft, auch wenn die Zahl auf der Containerebene diese Artefakte nicht enthält.
Verwalten von Verknüpfungen zwischen Ebenen und Artefakten
Öffnen Sie im Abhängigkeitsdiagramm das Kontextmenü für die Ebene, und wählen Sie dann " Verknüpfungen anzeigen" aus.
Der Layer-Explorer zeigt die Artefaktlinks für die ausgewählte Ebene an.
Verwenden Sie die folgenden Aufgaben, um diese Links zu verwalten:
| bis | Im Layer-Explorer |
|---|---|
| Löschen der Verknüpfung zwischen der Ebene und einem Artefakt | Öffnen Sie das Kontextmenü für den Artefaktlink, und wählen Sie dann "Löschen" aus. |
| Verschieben der Verknüpfung von einer Ebene in eine andere | Ziehen Sie den Link des Artefakts auf eine bestehende Ebene im Diagramm. -oder- 1. Öffnen Sie das Kontextmenü für den Link zum Artefakt, und wählen Sie dann Ausschneiden aus. 2. Öffnen Sie im Abhängigkeitsdiagramm das Kontextmenü für die Ebene, und wählen Sie dann "Einfügen" aus. |
| Kopieren des Links von einer Ebene in eine andere | 1. Öffnen Sie das Kontextmenü für den Artefaktlink, und wählen Sie dann "Kopieren" aus. 2. Öffnen Sie im Abhängigkeitsdiagramm das Kontextmenü für die Ebene, und wählen Sie dann "Einfügen" aus. |
| Erstellen einer neuen Ebene aus einer vorhandenen Artefaktlink | Ziehen Sie den Artefaktlink auf einen leeren Bereich im Diagramm. |
| Stellen Sie sicher, dass ein verknüpftes Artefakt die Überprüfung für das Abhängigkeitsdiagramm unterstützt. | Sehen Sie sich die Spalte "Validierung unterstützt" für den Artefaktlink an. |
Reverse Engineering vorhandener Abhängigkeiten
Eine Abhängigkeit ist überall vorhanden, wo ein Artefakt, das einer Ebene zugeordnet ist, einen Verweis auf ein Artefakt aufweist, das einer anderen Ebene zugeordnet ist. Beispielsweise deklariert eine Klasse in einer Ebene eine Variable, die über eine Klasse in einer anderen Ebene verfügt. Sie können bestehende Abhängigkeiten für Artefakte, die mit Ebenen im Diagramm verknüpft sind, rückentwickeln.
Hinweis
Abhängigkeiten können für bestimmte Arten von Artefakten nicht rückentwickelt werden. Beispielsweise werden keine Abhängigkeiten von oder zu einer Ebene, die mit einer Textdatei verknüpft ist, rückentwickelt. Um zu sehen, welche Artefakte Abhängigkeiten aufweisen, die Sie rückgängig machen können, öffnen Sie das Kontextmenü für eine oder mehrere Ebenen, und wählen Sie dann "Verknüpfungen anzeigen" aus. Überprüfen Sie im Layer-Explorer die Spalte " Überprüfung unterstützt ". Für Artefakte, für die diese Spalte False anzeigt, werden Abhängigkeiten nicht rückentwickelt.
Wählen Sie eine oder mehrere Ebenen aus, öffnen Sie das Kontextmenü für eine ausgewählte Ebene, und wählen Sie dann "Abhängigkeiten generieren" aus.
Wenn einige Abhängigkeiten angezeigt werden, die nicht vorhanden sein sollten, können Sie diese Abhängigkeiten bearbeiten, um sie an den beabsichtigten Entwurf auszurichten.
Bearbeiten von Ebenen und Abhängigkeiten zum Anzeigen des beabsichtigten Designs
Um die Änderungen zu beschreiben, die Sie an Ihrem System oder der beabsichtigten Architektur vornehmen möchten, bearbeiten Sie das Abhängigkeitsdiagramm:
| bis | Führen Sie diese Schritte aus. |
|---|---|
| Ändern oder Einschränken der Richtung einer Abhängigkeit | Legen Sie die Direction-Eigenschaft fest. |
| Erstellen neuer Abhängigkeiten | Verwenden Sie die Abhängigkeitstools und die Tools für bidirektionale Abhängigkeit. Um mehrere Abhängigkeiten zu zeichnen, doppelklicken Sie auf das Tool. Wenn Sie fertig sind, wählen Sie das Zeigertool aus, oder drücken Sie die ESC-TASTE . |
| Geben Sie an, dass Artefakte, die einer Ebene zugeordnet sind, nicht von den angegebenen Namespaces abhängen können. | Geben Sie die Namespaces in die Eigenschaft "Verbotene Namespaceabhängigkeiten" der Ebene ein. Verwenden Sie ein Semikolon (;), um die Namespaces zu trennen. |
| Geben Sie an, dass artefakte, die einer Ebene zugeordnet sind, nicht zu den angegebenen Namespaces gehören dürfen. | Geben Sie die Namespaces in die Eigenschaft "Forbidden Namespaces" der Ebene ein. Verwenden Sie ein Semikolon (;), um die Namespaces zu trennen. |
| Geben Sie an, dass artefakte, die einer Ebene zugeordnet sind, zu einem der angegebenen Namespaces gehören müssen. | Geben Sie den Namespace in die Eigenschaft "Required Namespaces" der Ebene ein. Verwenden Sie ein Semikolon (;), um die Namespaces zu trennen. |
Ändern der Darstellung von Elementen im Diagramm
Sie können die Größe, Form, Farbe und Position von Ebenen oder die Farbe von Abhängigkeiten ändern, indem Sie deren Eigenschaften bearbeiten.
Erkennen von Mustern und Abhängigkeiten auf einer Codekarte
Beim Erstellen von Abhängigkeitsdiagrammen können Sie auch Codezuordnungen erstellen. Diese Diagramme können Ihnen helfen, Muster und Abhängigkeiten zu ermitteln, während Sie den Code erkunden. Verwenden Sie Projektmappen-Explorer, Klassenansicht oder Objektbrowser, um Assemblys, Namespaces und Klassen zu erkunden, die häufig gut vorhandenen Ebenen entsprechen. Weitere Informationen zu Codezuordnungen finden Sie unter:
Verwenden von Codezuordnungen zum Debuggen Ihrer Anwendungen
Finden Sie potenzielle Probleme mithilfe von Codekarten-Analysatoren