Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Popište architekturu vaší aplikace na vysoké úrovni vytvořením diagramů závislostí v sadě Visual Studio. Ujistěte se, že váš kód zůstane konzistentní s tímto návrhem tím, že kód ověříte pomocí diagramu závislostí. Do procesu sestavení můžete zahrnout také ověření vrstvy.
Pokud chcete zjistit, které edice sady Visual Studio tuto funkci podporují, přečtěte si téma Podpora edice pro nástroje pro architekturu a modelování.
Poznámka:
Diagramy závislostí pro projekty .NET Core se podporují od sady Visual Studio 2019 verze 16.2.
Co je diagram závislostí?
Podobně jako u tradičního diagramu architektury diagram závislostí identifikuje hlavní komponenty nebo funkční jednotky návrhu a jejich vzájemné závislosti. Každý uzel v diagramu označovaný jako vrstva představuje logickou skupinu oborů názvů, projektů nebo jiných artefaktů. Můžete nakreslit závislosti, které by měly existovat v návrhu. Na rozdíl od tradičního diagramu architektury můžete ověřit, že skutečné závislosti ve zdrojovém kódu odpovídají zamýšleným závislostem, které jste zadali. Ověřením běžného sestavení na Team Foundation Serveru zajistíte, že kód programu bude i nadále dodržovat architekturu systému prostřednictvím budoucích změn. Viz diagramy závislostí: Referenční dokumentace.
Jak navrhnout nebo aktualizovat aplikaci pomocí diagramů závislostí
Následující kroky poskytují přehled použití diagramů závislostí v rámci procesu vývoje. Další části tohoto tématu popisují více podrobností o jednotlivých krocích. Pokud vyvíjíte nový návrh, vyhnete se krokům, které odkazují na existující kód.
Poznámka:
Tyto kroky se zobrazí v přibližném pořadí. Pravděpodobně budete chtít překrývat úkoly, změnit jejich pořadí tak, aby vyhovovaly vaší vlastní situaci, a znovu se k nim vrátit na začátku každé iterace v projektu.
Vytvořte diagram závislostí pro celou aplikaci nebo pro vrstvu v ní.
Definujte vrstvy, které představují primární funkční oblasti nebo komponenty vaší aplikace. Pojmenujte tyto vrstvy podle jejich funkce, například "Presentation" nebo "Services". Pokud máte řešení sady Visual Studio, můžete každou vrstvu přidružit ke kolekci artefaktů, jako jsou projekty, obory názvů, soubory atd.
Objevte existující závislosti mezi vrstvami.
Upravte vrstvy a závislosti a zobrazte aktualizovaný návrh, který má kód odrážet.
Navrhněte nové oblasti aplikace tak, že vytvoříte vrstvy představující hlavní architektonické bloky nebo komponenty a definujete závislosti, abyste ukázali, jak každá vrstva používá ostatní.
Upravte rozložení a vzhled diagramu , abyste ho mohli probrat s kolegy.
Ověřte kód proti diagramu závislostí , abyste zvýraznili konflikty mezi kódem a požadovanou architekturou.
Aktualizujte kód tak, aby odpovídal vaší nové architektuře. Iterativní vývoj a refaktorování kódu, dokud ověření nezobrazí žádné konflikty.
Do procesu sestavení zahrňte ověření vrstvy , abyste zajistili, že kód bude i nadále dodržovat váš návrh.
Vytvoření diagramu závislostí
Diagram závislostí musí být vytvořen uvnitř projektu modelování. Do existujícího projektu modelování můžete přidat nový diagram závislostí, vytvořit nový projekt modelování pro diagram závislostí nebo zkopírovat existující diagram závislostí v rámci stejného projektu modelování.
Důležité
Nepřidávejte, přetahujte ani nekopírujte existující diagram závislostí z projektu modelování do jiného projektu modelování nebo do jiného umístění v řešení. Diagram závislostí, který se tímto způsobem zkopíruje, bude mít stejné odkazy jako původní diagram, i když diagram upravíte. Tím zabráníte správnému fungování ověřování vrstev a může dojít k jiným problémům, jako jsou chybějící prvky nebo jiné chyby při pokusu o otevření diagramu.
Viz Vytváření diagramů závislostí z kódu.
Definování vrstev pro reprezentaci funkčních oblastí nebo součástí
Vrstvy představují logické skupiny artefaktů, jako jsou projekty, soubory kódu, obory názvů, třídy a metody. Vrstvy můžete vytvářet z artefaktů z projektů Visual C# a Visual Basic nebo můžete k vrstvě připojit specifikace nebo plány propojením dokumentů, jako jsou wordové soubory nebo powerpointové prezentace. Každá vrstva se zobrazí jako obdélník v diagramu a zobrazuje počet artefaktů, které jsou s ním propojené. Vrstva může obsahovat vnořené vrstvy, které popisují konkrétnější úlohy.
Zpravidla pojmenujte vrstvy podle jejich funkce, například "Prezentace" nebo "Služby". Pokud jsou artefakty úzce vzájemně závislé, umístěte je do stejné vrstvy. Pokud je možné artefakty aktualizovat samostatně nebo je použít v samostatných aplikacích, umístěte je do různých vrstev.
Návod
Existují určité typy artefaktů, které můžete propojit s vrstvami, ale nepodporují ověřování v diagramu závislostí. Pokud chcete zjistit, jestli artefakt podporuje ověřování, otevřete Průzkumníka vrstev a prozkoumejte vlastnost Supports Validation odkazu artefaktu. Viz Zjišťování existujících závislostí mezi vrstvami.
Při aktualizaci neznámé aplikace můžete také vytvořit mapy kódu. Tyto diagramy vám můžou pomoct při zjišťování vzorů a závislostí při zkoumání kódu. Pomocí Průzkumníka řešení můžete prozkoumat obory názvů a třídy, které často odpovídají existujícím vrstvám. Přiřaďte tyto artefakty kódu k vrstvám přetažením z Průzkumníka řešení do diagramů závislostí. Pak můžete použít diagramy závislostí, které vám pomůžou kód aktualizovat a udržovat ho v souladu s návrhem.
Viz:
Zjišťování existujících závislostí mezi vrstvami
Závislost existuje všude, kde artefakt přidružený k jedné vrstvě má odkaz na artefakt přidružený k jiné vrstvě. Třída v jedné vrstvě například deklaruje proměnnou, která má třídu v jiné vrstvě. Existující závislosti můžete zjistit pomocí zpětné analýzy.
Poznámka:
Závislosti nelze zpětně analyzovat pro určité druhy artefaktů. Například žádné závislosti se nebudou zpětně navrhovat z vrstvy ani do vrstvy propojené s textovým souborem. Pokud chcete zjistit, které artefakty mají závislosti, které můžete zpětně analyzovat, klikněte pravým tlačítkem myši na jednu nebo více vrstev a potom klikněte na zobrazit odkazy. V Průzkumníku vrstev zkontrolujte sloupec Podporuje ověřování . Závislosti nebudou reverzně zpracovány pro artefakty, pro které tento sloupec zobrazuje False.
Zpětná analýza existujících závislostí mezi vrstvami
Vyberte jednu vrstvu nebo více vrstev, klikněte pravým tlačítkem myši na vybranou vrstvu a potom klikněte na Generovat závislosti.
Obvykle se zobrazí některé závislosti, které by neměly existovat. Tyto závislosti můžete upravit, abyste je zarovnali s zamýšleným návrhem.
Úprava vrstev a závislostí tak, aby zobrazovaly zamýšlený návrh
Pokud chcete popsat změny, které plánujete provést v systému nebo zamýšlené architektuře, upravte diagram závislostí pomocí následujících kroků. Před rozšířením můžete také zvážit některé změny refaktoringu, abyste zlepšili strukturu kódu. Viz Vylepšení struktury kódu.
| do | Provedení těchto kroků |
|---|---|
| Odstranění závislosti, která by neměla existovat | Klikněte na závislost a stiskněte klávesu DELETE. |
| Změna nebo omezení směru závislosti | Nastavte vlastnost Direction . |
| Vytvoření nových závislostí | Použijte nástroje závislostí a obousměrných závislostí . Chcete-li nakreslit více závislostí, poklikejte na nástroj. Až budete hotovi, klikněte na nástroj Ukazatel nebo stiskněte klávesu ESC . |
| Určení, že artefakty přidružené k vrstvě nemohou záviset na zadaných oborech názvů. | Zadejte obory názvů do vlastnosti Zakázané závislosti oborů názvů vrstvy. K oddělení oborů názvů použijte středník (;). |
| Určete, že artefakty přidružené k vrstvě nesmí patřit do zadaných oborů názvů. | Zadejte obory názvů ve vlastnosti vrstvy Zakázané obory názvů. K oddělení oborů názvů použijte středník (;). |
| Určete, že artefakty přidružené k vrstvě musí patřit do jednoho ze zadaných oborů názvů. | Do vlastnosti Required Namespaces vrstvy zadejte obor názvů. K oddělení oborů názvů použijte středník (;). |
Zlepšení struktury kódu
Změny refaktoringu jsou vylepšení, která neovlivňují chování aplikace, ale usnadňují změnu a rozšíření kódu v budoucnu. Dobře strukturovaný kód má návrh, který se snadno abstrahuje do diagramu závislostí.
Pokud například vytvoříte vrstvu pro každý jmenný prostor v kódu a potom provedete zpětnou analýzu závislostí, měla by být mezi vrstvami minimální sada jednosměrných závislostí. Pokud jako vrstvy vytvoříte podrobnější diagram pomocí tříd nebo metod, výsledek by měl mít stejné charakteristiky.
Pokud tomu tak není, bude kód v průběhu svého života obtížnější změnit a bude méně vhodný pro ověřování pomocí diagramů závislostí.
Návrh nových oblastí aplikace
Když začnete vyvíjet nový projekt nebo novou oblast v novém projektu, můžete nakreslit vrstvy a závislosti, které vám pomůžou identifikovat hlavní komponenty, než začnete vyvíjet kód.
Pokud je to možné, můžete v diagramech závislostí zobrazit identifikovatelné vzory architektury. Diagram závislostí, který popisuje desktopovou aplikaci, může například obsahovat vrstvy, jako jsou Prezentace, Logika domény a Úložiště dat. Diagram závislostí, který pokrývá jednu funkci v aplikaci, může mít vrstvy, jako je model, zobrazení a kontroler.
Vytvořte artefakt kódu pro každou vrstvu , jako je obor názvů, třída nebo komponenta. To usnadňuje sledování kódu a propojení artefaktů kódu s vrstvami. Jakmile vytvoříte každý artefakt, propojte ho s příslušnou vrstvou.
Většinu tříd a dalších artefaktů nemusíte propojit s vrstvami , protože spadají do větších artefaktů, jako jsou obory názvů, které jste už propojili s vrstvami.
Vytvořte nový diagram pro novou funkci. Obvykle bude existovat jeden nebo více diagramů závislostí popisující celou aplikaci. Pokud navrhujete novou funkci v rámci aplikace, nepřidávejte stávající diagramy ani neměňte. Místo toho vytvořte vlastní diagram, který odráží nové části kódu. Vrstvy v novém diagramu můžou zahrnovat prezentační, doménové logiky a databázové vrstvy pro novou funkci.
Při sestavování aplikace se váš kód ověří jak v celkovém diagramu, tak v podrobnějším diagramu funkcí.
Úprava rozložení prezentace a diskuze
Abyste mohli identifikovat vrstvy a závislosti nebo je prodiskutovat s členy týmu, upravte vzhled a rozložení diagramu následujícími způsoby:
Změňte velikosti, obrazce a umístění vrstev.
Změňte barvy vrstev a závislostí.
- Vyberte jednu nebo více vrstev nebo závislostí, klikněte pravým tlačítkem myši a potom klikněte na příkaz Vlastnosti. V okně Vlastnosti upravte vlastnost Barva .
Ověření kódu v diagramu
Když diagram upravíte, můžete ho kdykoliv ověřit proti kódu ručně nebo automaticky při každém sestavení.
Viz:
Aktualizace kódu tak, aby odpovídal nové architektuře
Chyby se obvykle zobrazí při prvním ověření kódu proti aktualizovanému diagramu závislostí. Tyto chyby můžou mít několik příčin:
Artefakt se přiřadí nesprávné vrstvě. V tomto případě přesuňte artefakt.
Komponenta, jako je třída, používá jinou třídu způsobem, jenž je v konfliktu s vaší architekturou. V tomto případě refaktorujte kód tak, aby odebral závislost.
Pokud chcete tyto chyby vyřešit, aktualizujte kód, dokud se během ověřování nezobrazí žádné další chyby. Obvykle se jedná o iterativní proces. Další informace o těchto chybách najdete v tématu Ověření kódu pomocí diagramů závislostí.
Poznámka:
Při vývoji nebo refaktorování kódu můžete mít nové artefakty pro propojení s diagramem závislostí. To ale nemusí být nutné, například pokud máte vrstvy, které představují existující obory názvů, a nový kód do těchto oborů názvů přidá pouze další materiál.
Během procesu vývoje můžete chtít během ověřování potlačit některé hlášené konflikty. Můžete například potlačit chyby, které už řešíte nebo které nejsou relevantní pro váš konkrétní scénář. Když potlačíte chybu, je vhodné protokolovat pracovní položku v Team Foundation. Chcete-li provést tuto úlohu, přečtěte si téma Ověření kódu pomocí diagramů závislostí.
Zahrnutí ověření vrstvy do procesu sestavení
Pokud chcete zajistit, aby budoucí změny v kódu odpovídaly diagramům závislostí, zahrňte ověření vrstev do standardního procesu sestavení vašeho řešení. Kdykoli ostatní členové týmu sestaví řešení, všechny rozdíly mezi závislostmi v kódu a diagramem závislostí se budou hlásit jako chyby sestavení. Další informace o zahrnutí ověřování vrstev v procesu sestavení naleznete v tématu Ověření kódu pomocí diagramů závislostí.