Udostępnij za pośrednictwem


Tworzenie diagramów zależności z kodu

Aby zwizualizować ogólną architekturę logiczną systemu oprogramowania, utwórz diagram zależności w programie Visual Studio. Aby upewnić się, że kod pozostaje spójny z tym projektem, zweryfikuj kod za pomocą diagramu zależności. Diagramy zależności dla projektów Visual C# i Visual Basic można tworzyć. Aby sprawdzić, które wersje programu Visual Studio obsługują tę funkcję, zobacz Obsługa wersji dla narzędzi do architektury i modelowania.

Tworzenie diagramu zależności

Diagram zależności umożliwia organizowanie elementów rozwiązania programu Visual Studio w logiczne, abstrakcyjne grupy nazywane warstwami. Można użyć warstw do opisania głównych zadań wykonywanych przez te artefakty lub główne składniki systemu.

Każda warstwa może zawierać inne warstwy, które opisują bardziej szczegółowe zadania. Można również określić zamierzone lub istniejące zależności między warstwami. Te zależności, reprezentowane jako strzałki, pokazują warstwy, które używają lub mogą używać funkcji reprezentowanej przez inne warstwy. Aby utrzymać kontrolę architektury kodu, wyświetl zamierzone zależności na diagramie i przeprowadź walidację kodu na podstawie diagramu.

Wideo: Weryfikowanie zależności architektury w czasie rzeczywistym

Tworzenie diagramu zależności

Przed utworzeniem diagramu zależności upewnij się, że rozwiązanie ma projekt modelowania.

Ważne

Nie dodawaj, przeciągaj ani nie kopiuj istniejącego diagramu zależności z jednego projektu modelowania do innego projektu modelowania ani do innego miejsca w rozwiązaniu. Pozwala to zachować odniesienia z oryginalnego diagramu nawet po zmianie diagramu. Mogłoby to także uniemożliwić prawidłowe działanie walidacji warstwy i spowodować wystąpienie innych problemów, takich jak brakujące elementy lub inne błędy, przy próbie otwarcia diagramu.

Zamiast tego dodaj nowy diagram zależności do projektu modelowania. Skopiuj elementy z diagramu źródłowego do nowego diagramu. Zapisz zarówno projekt modelowania, jak i nowy diagram zależności.

Dodawanie nowego diagramu zależności do projektu modelowania

Uwaga

Diagramy zależności dla projektów platformy .NET Core są obsługiwane od programu Visual Studio 2019 w wersji 16.2.

  1. W menu Architektura wybierz pozycję Nowy diagram zależności.

  2. W obszarze Szablony wybierz diagram zależności.

  3. Nadaj nazwę diagramowi.

  4. W obszarze Dodaj do projektu modelowania przejdź do istniejącego projektu modelowania i wybierz go w rozwiązaniu.

    — lub —

    Wybierz pozycję Utwórz nowy projekt modelowania, aby dodać nowy projekt modelowania do rozwiązania.

    Uwaga

    Diagram zależności musi istnieć wewnątrz projektu modelowania. Możesz jednak połączyć elementy w innym miejscu rozwiązania.

  5. Pamiętaj, aby zapisać zarówno projekt modelowania, jak i diagram zależności.

Przeciąganie i upuszczanie lub kopiowanie i wklejanie z mapy kodu

  1. Wygeneruj mapę kodu dla rozwiązania przy użyciu menu Architektura .

  2. Rozważ zastosowanie filtru mapy kodu, aby usunąć foldery rozwiązań i "Zasoby testowe", jeśli chcesz wymusić tylko zależności w kodzie produktu.

  3. Na wygenerowanej mapie kodu usuń węzeł "Zewnętrzny" lub rozwiń go, aby wyświetlić zestawy zewnętrzne, w zależności od tego, czy chcesz wymusić zależności przestrzeni nazw. Usuń nie wymagane zestawy z mapy kodu.

  4. Utwórz nowy diagram zależności dla rozwiązania przy użyciu menu Architektura .

  5. Zaznacz wszystkie węzły na mapie kodu (użyj klawisza Ctrl + A lub użyj zaznaczenia gumy, naciskając klawisz Shift przed kliknięciem, przeciągnij i zwolnij).

  6. Przeciągnij i upuść lub skopiuj i wklej wybrane elementy do nowego diagramu walidacji zależności.

  7. Spowoduje to wyświetlenie bieżącej architektury aplikacji. Zdecyduj, co ma być architektura, i odpowiednio zmodyfikuj diagram zależności.

Diagram zależności wygenerowany na podstawie mapy kodu

Tworzenie warstw na podstawie artefaktów

Warstwy możesz tworzyć z elementów rozwiązania Visual Studio, takich jak projekty, pliki kodu, przestrzenie nazw, klasy i metody. Powoduje to automatyczne tworzenie łączy między warstwami i elementami, uwzględniając je w procesie walidacji warstwy.

Warstwy można łączyć z elementami, które nie obsługują walidacji, takich jak dokumenty programu Word lub prezentacje programu PowerPoint. Dzięki temu można skojarzyć warstwę ze specyfikacjami lub planami. Możesz również połączyć warstwy z plikami projektów współużytkowanymi przez wiele aplikacji, ale proces walidacji nie uwzględni warstw wyświetlanych z nazwami rodzajowymi, takimi jak „Warstwa 1” i „Warstwa 2”.

Aby sprawdzić, czy połączony element obsługuje walidację, otwórz Eksplorator warstwy i sprawdź właściwość Obsługuje walidację elementu. Zobacz Zarządzanie linkami do artefaktów.

Do Wykonaj te kroki
Utworzyć warstwę dla pojedynczego artefakt
  1. Przeciągnij element na diagram zależności z następujących źródeł:
    Warstwy jest wyświetlana na diagramie i jest połączona z artefaktem.
  2. Zmień nazwę warstwy, aby odzwierciedlała obowiązki skojarzonego kodu lub artefaktów.

Ważne: Przeciąganie plików binarnych do diagramu zależności nie powoduje automatycznego dodawania odwołań do projektu modelowania. Ręcznie dodaj pliki binarne, które chcesz zweryfikować w projekcie modelowania. Aby dodać pliki binarne do projektu modelowania
  1. W Eksplorator rozwiązań otwórz menu skrótów dla projektu modelowania, a następnie wybierz pozycję Dodaj istniejący element.
  2. W oknie dialogowym Dodawanie istniejącego elementu przejdź do plików binarnych, wybierz je, a następnie wybierz przycisk OK. Pliki binarne pojawią się w projekcie modelowania.
  3. W Eksplorator rozwiązań wybierz dodany plik binarny, a następnie naciśnij klawisz F4, aby otworzyć okno Właściwości.
  4. W każdym pliku binarnym ustaw właściwość Akcja kompilacji na Wartość Weryfikuj.
Utwórz jedną warstwę dla wszystkich zaznaczonych artefaktów Przeciągnij wszystkie artefakty do diagramu zależności w tym samym czasie.

Warstw pojawi się na diagramie i będzie połączona z artefaktami.
Tworzenie warstwy dla każdego zaznaczonego artefaktu Naciśnij i przytrzymaj klawisz SHIFT podczas przeciągania wszystkich artefaktów do diagramu zależności w tym samym czasie.
Uwaga: jeśli użyjesz klawisza SHIFT do wybrania zakresu elementów, zwolnij klucz po wybraniu artefaktów. Naciśnij i przytrzymaj go ponownie podczas przeciągania artefaktów do diagramu.

Warstwa dla każdego artefaktu pojawia się na diagramie i jest połączona z poszczególnymi artefaktami.
Dodawanie artefaktu do warstwy Przeciągnij artefakt do warstwy.
Tworzenie nowej niepołączonej warstwy W przyborniku rozwiń sekcję Diagram zależności, a następnie przeciągnij warstwę do diagramu zależności.

Aby dodać wiele warstw, kliknij dwukrotnie narzędzie. Gdy skończysz, wybierz narzędzie wskaźnik lub naciśnij klawisz ESC .

- lub -

Otwórz menu skrótów diagramu zależności, wybierz pozycję Dodaj, a następnie wybierz pozycję Warstwa.
Tworzenie zagnieżdżonych warstw Przeciągnij istniejącą warstwę na inną warstwę.

- lub -

Otwórz menu skrótów dla warstwy, wybierz pozycję Dodaj, a następnie wybierz pozycję Warstwa.
Tworzenie nowej warstwy zawierającej dwie lub więcej istniejących warstw Wybierz warstwy, otwórz menu skrótów dla zaznaczenia, a następnie wybierz pozycję Grupuj.
Zmienianie koloru warstwy Ustaw jej właściwość Color na żądany kolor.
Określ, że artefakty skojarzone z warstwą nie powinny należeć do określonych przestrzeni nazw Wpisz przestrzenie nazw we właściwości Zabronione przestrzenie nazw warstwy. Użyj średnika (;), aby oddzielić przestrzenie nazw.
Określ, że artefakty skojarzone z warstwą nie mogą zależeć od określonych przestrzeni nazw Wpisz przestrzenie nazw we właściwości Zależności przestrzeni nazw zabronionej warstwy. Użyj średnika (;), aby oddzielić przestrzenie nazw.
Określanie, że artefakty skojarzone z warstwą muszą należeć do jednej z określonych przestrzeni nazw Wpisz przestrzeń nazw we właściwości Wymagane przestrzenie nazw warstwy. Użyj średnika (;), aby oddzielić przestrzenie nazw.

Liczba na warstwie oznacza liczbę artefaktów, które są połączone z warstwą. Jednak podczas odczytywania tej liczby pamiętaj:

  • Jeśli warstwa łączy się z artefaktem zawierającym inne artefakty, ale warstwa nie łączy się bezpośrednio z innymi artefaktami, liczba zawiera tylko połączony artefakt. Jednak inne artefakty są uwzględniane w analizie podczas walidacji warstwy.

    Na przykład, jeżeli warstwa jest połączona z pojedynczą przestrzenią nazw, liczba połączonych artefaktów wynosi 1, nawet jeśli przestrzeń nazw zawiera klasy. Jeśli warstwa zawiera także łącza do każdej klasy w przestrzeni nazw, liczba będzie uwzględniać połączone klasy.

  • Jeśli warstwa zawiera inne warstwy połączone z artefaktami, warstwa kontenera jest również połączona z tymi artefaktami, mimo że liczba w warstwie kontenera nie zawiera tych artefaktów.

Zarządzanie łączami między warstwami i artefaktami

  1. Na diagramie zależności otwórz menu skrótów dla warstwy, a następnie wybierz pozycję Wyświetl łącza.

    W Eksploratorze warstw są wyświetlane linki artefaktów dla wybranej warstwy.

  2. Wykonaj następujące zadania, aby zarządzać tymi łączami:

Do W Eksploratorze warstw
Usuwanie łącza między warstwą i artefaktem Otwórz menu skrótów linku artefaktu, a następnie wybierz pozycję Usuń.
Przenoszenie łącza z jednej warstwy na drugą Przeciągnij łącze artefaktu do istniejącej warstwy na diagramie.

- lub -

1. Otwórz menu skrótów dla linku artefaktu, a następnie wybierz pozycję Wytnij.
2. Na diagramie zależności otwórz menu skrótów dla warstwy, a następnie wybierz pozycję Wklej.
Kopiowanie łącza z jednej warstwy na drugą 1. Otwórz menu skrótów dla linku artefaktu, a następnie wybierz pozycję Kopiuj.
2. Na diagramie zależności otwórz menu skrótów dla warstwy, a następnie wybierz pozycję Wklej.
Tworzenie nowej warstwy z istniejącego łącza artefaktu Przeciągnij łącze artefaktu do pustego obszaru na diagramie.
Sprawdź, czy połączony artefakt obsługuje walidację względem diagramu zależności. Zapoznaj się z kolumną Obsługuje walidację dla linku artefaktu.

Istniejące zależności odwrotnego inżyniera

Zależność istnieje wszędzie tam, gdzie artefakt, który jest skojarzony z jedną warstwą zawiera odwołanie do artefaktu skojarzonego z inną warstwą. Na przykład klasa w jednej warstwie deklaruje zmienną, która zawiera klasę w innej warstwie. Możesz odtwarzać istniejące zależności dla artefaktów, które są połączone z warstwami na diagramie.

Uwaga

Zależności nie mogą być odtwarzane w przypadku niektórych rodzajów artefaktów. Na przykład nie zostaną odtworzone żadne zależności z lub do warstwy, która jest połączona z plikiem tekstowym. Aby zobaczyć, które artefakty mają zależności, które można odtworzyć, otwórz menu skrótów dla jednej lub wielu warstw, a następnie wybierz pozycję Wyświetl łącza. W Eksploratorze warstw sprawdź kolumnę Obsługuje walidację. Zależności nie będą odtwarzane dla artefaktów, dla których ta kolumna zawiera wartość False.

  • Wybierz jedną lub wiele warstw, otwórz menu skrótów dla wybranej warstwy, a następnie wybierz pozycję Generuj zależności.

    Jeśli widzisz pewne zależności, które nie powinny istnieć, możesz edytować te zależności, aby dopasować je do zamierzonego projektu.

Edytowanie warstw i zależności w celu pokazania zamierzonego projektu

Aby opisać zmiany, które mają być wprowadzane do systemu lub zamierzonej architektury, edytuj diagram zależności:

Do Wykonaj te kroki
Zmień lub ogranicz kierunek zależności Ustaw właściwość Direction .
Tworzenie nowych zależności Użyj narzędzi zależności i zależności dwukierunkowych.

Aby narysować wiele zależności, kliknij dwukrotnie narzędzie. Gdy skończysz, wybierz narzędzie wskaźnik lub naciśnij klawisz ESC .
Określ, że artefakty skojarzone z warstwą nie mogą zależeć od określonych przestrzeni nazw Wpisz przestrzenie nazw we właściwości Zależności przestrzeni nazw zabronionej warstwy. Użyj średnika (;), aby oddzielić przestrzenie nazw.
Określanie, że artefakty skojarzone z warstwą nie mogą należeć do określonych przestrzeni nazw Wpisz przestrzenie nazw we właściwości Zabronione przestrzenie nazw warstwy. Użyj średnika (;), aby oddzielić przestrzenie nazw.
Określanie, że artefakty skojarzone z warstwą muszą należeć do jednej z określonych przestrzeni nazw Wpisz przestrzeń nazw we właściwości Wymagane przestrzenie nazw warstwy. Użyj średnika (;), aby oddzielić przestrzenie nazw.

Zmienianie sposobu wyświetlania elementów na diagramie

Możesz zmieniać rozmiar, kształt, kolor i położenie warstw lub kolor zależności, edytując ich właściwości.

Odnajdywanie wzorców i zależności na mapie kodu

Podczas tworzenia diagramów zależności można również tworzyć mapy kodu. Te diagramy mogą ułatwić odnajdywanie wzorców i zależności podczas eksplorowania kodu. Użyj Eksplorator rozwiązań, widoku klas lub przeglądarki obiektów, aby eksplorować zestawy, przestrzenie nazw i klasy — które często odpowiadają istniejącym warstwom. Aby uzyskać więcej informacji na temat map kodu, zobacz: