Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u de logische architectuur op hoog niveau van uw softwaresysteem wilt visualiseren, maakt u een dependencydiagram in Visual Studio. Valideer uw code met een afhankelijkheidsdiagram om ervoor te zorgen dat uw code consistent blijft met dit ontwerp. U kunt afhankelijkheidsdiagrammen maken voor Visual C# en Visual Basic projecten. Als u wilt zien welke edities van Visual Studio deze functie ondersteunen, raadpleegt u Edition-ondersteuning voor architectuur- en modelleringshulpprogramma's.
Met een afhankelijkheidsdiagram kunt u Visual Studio oplossingsitems ordenen in logische, abstracte groepen met de naam layers. U kunt lagen gebruiken om belangrijke taken te beschrijven die door deze artefacten worden uitgevoerd of de belangrijkste onderdelen van het systeem.
Elke laag kan andere lagen bevatten die gedetailleerdere taken beschrijven. U kunt ook de beoogde of bestaande afhankelijkheden tussen lagen opgeven. Deze afhankelijkheden, weergegeven als pijlen, geven de lagen weer die de functionaliteit gebruiken die wordt vertegenwoordigd door andere lagen. Als u architectuurbeheer van de code wilt behouden, toont u de beoogde afhankelijkheden van het diagram en valideert u de code vervolgens op basis van het diagram.
Video: Uw architectuurafhankelijkheden in realtime valideren
Een afhankelijkheidsdiagram maken
Voordat u een afhankelijkheidsdiagram maakt, moet u ervoor zorgen dat uw oplossing een modelleringsproject heeft.
Important
Voeg, sleep of kopieer een bestaand afhankelijkheidsdiagram niet van het ene modelleringsproject naar een ander modelleringsproject, noch naar een andere plek in de oplossing. Hierdoor blijven de verwijzingen uit het oorspronkelijke diagram behouden, zelfs als u het diagram wijzigt. Dit voorkomt ook dat laagvalidatie correct werkt en kan andere problemen veroorzaken, zoals ontbrekende elementen of andere fouten wanneer u het diagram probeert te openen.
Voeg in plaats daarvan een nieuw afhankelijkheidsdiagram toe aan het modelleringsproject. Kopieer de elementen van het brondiagram naar het nieuwe diagram. Sla zowel het modelleringsproject als het nieuwe afhankelijkheidsdiagram op.
Een nieuw afhankelijkheidsdiagram toevoegen aan een modelleringsproject
Opmerking
Afhankelijkheidsdiagrammen voor .NET Core-projecten worden ondersteund vanaf Visual Studio versie 16.2 van 2019.
Klik met de rechtermuisknop op uw modelproject in Solution Explorer en selecteer Toevoegen>Nieuw item.
Selecteer in het venster Nieuw item toevoegen de optie Afhankelijkheidsvalidatiediagram, voer een naam in voor het diagram onderaan het venster en selecteer Vervolgens Toevoegen.
Slepen en neerzetten, of kopiëren en plakken, vanuit een codeoverzicht
Genereer een codekaart voor de oplossing met behulp van het menu Architectuur .
Overweeg om een Code Map-filter toe te passen om oplossingsmappen en 'Test-assets' uit te filteren als u alleen afhankelijkheden in productcode wilt afdwingen.
Verwijder op het gegenereerde codeoverzicht het knooppunt Extern of vouw het uit om externe assembly's weer te geven, afhankelijk van of u naamruimteafhankelijkheden wilt afdwingen. Verwijder niet-vereiste assembly's uit de Codekaart.
Voeg een item voor afhankelijkheidsvalidatiediagram toe aan het project Afhankelijkheidsvalidatie in uw oplossing.
Selecteer alle knooppunten op de codekaart (gebruik Ctrl + A of gebruik de selectie van de rubberen band door op de Shift-toets te drukken voordat u klikt, sleept en loslaat).
Sleep en laat vallen, of kopieer en plak de geselecteerde elementen naar het nieuwe Afhankelijkheidsvalidatiediagram.
Hier ziet u de huidige app-architectuur. Bepaal wat de architectuur moet zijn en wijzig het afhankelijkheidsdiagram dienovereenkomstig.
Lagen maken van artefacten
U kunt lagen maken op basis van Visual Studio oplossingsitems, zoals projecten, codebestanden, naamruimten, klassen en methoden. Hiermee worden automatisch koppelingen tussen lagen en items gemaakt en worden deze meegenomen in het laagvalidatieproces.
U kunt lagen koppelen aan items die geen validatie ondersteunen, zoals Word documenten of PowerPoint presentaties. Hiermee kunt u een laag koppelen aan specificaties of plannen. U kunt lagen ook koppelen aan bestanden in projecten die worden gedeeld in meerdere apps, maar het validatieproces bevat deze lagen niet, die worden weergegeven met algemene namen, zoals Laag 1 en Laag 2.
Als u wilt zien of een gekoppeld item validatie ondersteunt, opent u Layer Explorer en bekijkt u de eigenschap Validatie van het item. Zie Koppelingen naar artefacten beheren.
| Van tot | Volg deze stappen |
|---|---|
| Een laag maken voor één artefact |
Belangrijk: Als u binaire bestanden naar het afhankelijkheidsdiagram sleept, worden hun verwijzingen naar het modelleringsproject niet automatisch toegevoegd. Voeg handmatig de binaire bestanden toe die u wilt valideren voor het modelleringsproject. Binaire bestanden toevoegen aan het modelleringsproject
|
| Eén laag maken voor alle geselecteerde artefacten | Sleep alle artefacten tegelijkertijd naar het afhankelijkheidsdiagram. Er wordt een laag weergegeven in het diagram en is gekoppeld aan alle artefacten. |
| Een laag maken voor elk geselecteerd artefact | Houd shift ingedrukt terwijl u alle artefacten tegelijk naar het afhankelijkheidsdiagram sleept. Opmerking: Als u shift gebruikt om een reeks items te selecteren, laat u de sleutel los nadat u de artefacten hebt geselecteerd. Houd hem opnieuw ingedrukt terwijl u de artefacten naar het diagram sleept. Er wordt een laag voor elk artefact weergegeven in het diagram en is gekoppeld aan elk artefact. |
| Een artefact toevoegen aan een laag | Sleep het artefact naar de laag. |
| Een nieuwe niet-gekoppelde laag maken | Vouw in de werkset de sectie Afhankelijkheidsdiagram uit en sleep vervolgens een laag naar het afhankelijkheidsdiagram. Als u meerdere lagen wilt toevoegen, dubbelklikt u op het hulpprogramma. Wanneer u klaar bent, kiest u het hulpmiddel Aanwijzer of drukt u op Esc . - of - Open het snelmenu voor het afhankelijkheidsdiagram, kies Toevoegen en kies vervolgens Laag. |
| Ingebedde lagen maken | Sleep een bestaande laag op een andere laag. - of - Open het contextmenu voor een laag, kies Toevoegen, en kies Laag. |
| Een nieuwe laag maken die twee of meer bestaande lagen bevat | Selecteer de lagen, open het snelmenu voor uw selectie en kies Groep. |
| De kleur van een laag wijzigen | Stel de eigenschap Color in op de gewenste kleur. |
| Opgeven dat artefacten die zijn gekoppeld aan een laag niet tot de opgegeven naamruimten behoren | Typ de naamruimten in de eigenschap Verboden naamruimten van de laag. Gebruik een puntkomma (;) om de naamruimten te scheiden. |
| Opgeven dat artefacten die zijn gekoppeld aan een laag niet afhankelijk zijn van de opgegeven naamruimten | Typ de naamruimten in de eigenschap Verboden naamruimte-afhankelijkheden van de laag. Gebruik een puntkomma (;) om de naamruimten te scheiden. |
| Opgeven dat artefacten die zijn gekoppeld aan een laag, moeten behoren tot een van de opgegeven naamruimten | Typ de naamruimte in de eigenschap Vereiste naamruimten van de laag. Gebruik een puntkomma (;) om de naamruimten te scheiden. |
Het getal op een laag geeft het aantal artefacten aan dat aan de laag is gekoppeld. Houd bij het lezen van dit nummer echter rekening met het volgende:
Als een laag is gekoppeld aan een artefact dat andere artefacten bevat, maar de laag niet rechtstreeks wordt gekoppeld aan de andere artefacten, bevat het nummer alleen het gekoppelde artefact. De andere artefacten worden echter opgenomen voor analyse tijdens laagvalidatie.
Als een laag bijvoorbeeld is gekoppeld aan één naamruimte, is het aantal gekoppelde artefacten 1, zelfs als de naamruimte klassen bevat. Als de laag ook koppelingen bevat naar elke klasse in de naamruimte, bevat het getal de gekoppelde klassen.
Als een laag andere lagen bevat die zijn gekoppeld aan artefacten, wordt de containerlaag ook gekoppeld aan die artefacten, ook al bevat het nummer op de containerlaag deze artefacten niet.
Koppelingen tussen lagen en artefacten beheren
Open in het afhankelijkheidsdiagram het snelmenu voor de laag en kies Koppelingen weergeven.
Layer Explorer toont de artefactkoppelingen voor de geselecteerde laag.
Gebruik de volgende taken om deze koppelingen te beheren:
| Van tot | In Layer Explorer |
|---|---|
| De koppeling tussen de laag en een artefact verwijderen | Open het snelmenu voor de artefactkoppeling en kies vervolgens verwijderen. |
| De koppeling van de ene laag naar de andere verplaatsen | Sleep de artefact-link naar een bestaande laag op het diagram. - of - 1. Open het snelmenu voor de artefactkoppeling en kies Knippen. 2. Open in het afhankelijkheidsdiagram het snelmenu voor de laag en kies plakken. |
| De koppeling van de ene laag naar de andere kopiëren | 1. Open het snelmenu voor de artefactkoppeling en kies Kopiëren. 2. Open in het afhankelijkheidsdiagram het snelmenu voor de laag en kies plakken. |
| Een nieuwe laag maken op basis van een bestaande artefactkoppeling | Sleep de artefactlink naar een leeg gebied in het diagram. |
| Controleer of een gekoppeld artefact validatie ondersteunt voor het afhankelijkheidsdiagram. | Bekijk de kolom Ondersteuningsvalidatie voor de artefactkoppeling. |
Het omkeren van bestaande afhankelijkheden
Er bestaat een afhankelijkheid waar een artefact dat is gekoppeld aan één laag een verwijzing heeft naar een artefact dat is gekoppeld aan een andere laag. Een klasse in de ene laag declareert bijvoorbeeld een variabele die een klasse in een andere laag heeft. U kunt bestaande afhankelijkheden reverse-engineeren voor artefacten die zijn gekoppeld aan lagen in het diagram.
Opmerking
De afhankelijkheden kunnen niet worden terug-'reverse-engineeren' voor bepaalde soorten artifacten. Er worden bijvoorbeeld geen afhankelijkheden omgekeerd ontworpen van of naar een laag die is gekoppeld aan een tekstbestand. Als u wilt zien welke artefacten afhankelijkheden hebben die u kunt reverse-engineeren, opent u het snelmenu voor een of meer lagen en kiest u Koppelingen weergeven. Bekijk in Layer Explorer de kolom Ondersteuningsvalidatie . Afhankelijkheden worden niet terugge-engineerd voor artefacten waarvoor in deze kolom Onwaar wordt weergegeven.
Selecteer een of meerdere lagen, open het snelmenu voor een geselecteerde laag en kies Vervolgens Afhankelijkheden genereren.
Als u bepaalde afhankelijkheden ziet die niet mogen bestaan, kunt u deze afhankelijkheden bewerken om ze af te stemmen op het beoogde ontwerp.
Lagen en afhankelijkheden bewerken om het beoogde ontwerp weer te geven
Als u de wijzigingen wilt beschrijven die u wilt aanbrengen in uw systeem of de beoogde architectuur, bewerkt u het afhankelijkheidsdiagram:
| Van tot | Voer deze stappen uit |
|---|---|
| De richting van een afhankelijkheid wijzigen of beperken | Stel de eigenschap Direction in. |
| Nieuwe afhankelijkheden maken | Gebruik de hulpprogramma's voor afhankelijkheden en bidirectionele afhankelijkheden . Als u meerdere afhankelijkheden wilt tekenen, dubbelklikt u op het hulpprogramma. Wanneer u klaar bent, kiest u het hulpmiddel Aanwijzer of drukt u op Esc . |
| Opgeven dat artefacten die zijn gekoppeld aan een laag niet afhankelijk zijn van de opgegeven naamruimten | Typ de naamruimten in de eigenschap Verboden naamruimte-afhankelijkheden van de laag. Gebruik een puntkomma (;) om de naamruimten te scheiden. |
| Opgeven dat artefacten die zijn gekoppeld aan een laag niet tot de opgegeven naamruimten mogen behoren | Typ de naamruimten in de eigenschap Verboden naamruimten van de laag. Gebruik een puntkomma (;) om de naamruimten te scheiden. |
| Opgeven dat artefacten die zijn gekoppeld aan een laag, moeten behoren tot een van de opgegeven naamruimten | Typ de naamruimte in de eigenschap Vereiste naamruimten van de laag. Gebruik een puntkomma (;) om de naamruimten te scheiden. |
Wijzigen hoe elementen in het diagram worden weergegeven
U kunt de grootte, vorm, kleur en positie van lagen of de kleur van afhankelijkheden wijzigen door de eigenschappen te bewerken.
Patronen en afhankelijkheden van een codeoverzicht detecteren
Tijdens het maken van afhankelijkheidsdiagrammen kunt u ook codetoewijzingen maken. Met deze diagrammen kunt u patronen en afhankelijkheden detecteren terwijl u de code verkent. Gebruik Solution Explorer, Klasseweergave of Objectbrowser om assembly's, naamruimten en klassen te verkennen, die vaak goed overeenkomen met bestaande lagen. Zie voor meer informatie over codekaarten:
Codetoewijzingen gebruiken om fouten in uw toepassingen op te sporen
Mogelijke problemen vinden met behulp van codetoewijzingsanalyses