Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Para visualizar a arquitetura lógica de alto nível do seu sistema de software, crie um diagrama dependência em Visual Studio. Para garantir que o seu código se mantém consistente com este design, valide o seu código com um diagrama de dependências. Pode criar diagramas de dependências para projetos em Visual C# e Visual Basic. Para ver quais edições do Visual Studio oferecem suporte a esse recurso, consulte Suporte de edição para ferramentas de arquitetura e modelagem.
Um diagrama de dependências permite-lhe organizar os itens de solução do Visual Studio em grupos lógicos e abstratos chamados
Cada camada pode conter outras camadas que descrevem tarefas mais detalhadas. Também pode especificar as dependências pretendidas ou existentes entre camadas. Estas dependências, representadas por setas, mostram as camadas que usam ou podem usar a funcionalidade representada por outras camadas. Para manter o controlo arquitetónico do código, mostre as dependências pretendidas no diagrama e depois valide o código em relação ao diagrama.
Vídeo: Validar suas dependências de arquitetura em tempo real
Criar um diagrama de dependência
Antes de criar um diagrama de dependências, certifique-se de que a sua solução tem um projeto de modelação.
Importante
Não adicione, arraste ou copie um diagrama de dependências existente de um projeto de modelação para outro, ou para outro ponto da solução. Isto preserva as referências do diagrama original, mesmo que mudes o diagrama. Isto também impede que a validação das camadas funcione corretamente e pode causar outros problemas, como elementos em falta ou outros erros ao tentar abrir o diagrama.
Em vez disso, adicione um novo diagrama de dependências ao projeto de modelação. Copie os elementos do diagrama de origem para o novo diagrama. Guarde ambos, o projeto de modelação e o novo diagrama de dependências.
Adicionar um novo diagrama de dependências a um projeto de modelação
Note
Diagramas de dependências para projetos .NET Core são suportados a partir do Visual Studio 2019 versão 16.2.
Clique com o botão direito do seu projeto de modelação em Explorador de Soluções e selecione Adicionar>Novo Item.
Na janela Adicionar Novo Item , selecione Diagrama de Validação de Dependências, introduza um nome para o diagrama na parte inferior da janela e depois selecione Adicionar.
Arrastar e soltar, ou copiar e colar, a partir de um Mapa de Código
Gera um Mapa de Código para a solução usando o menu Arquitetura .
Considere usar um filtro de Code Map para remover pastas de solução e "Ativos de Teste" caso queira apenas impor dependências no código do produto.
No Mapa de Código gerado, remova o nó "Externo" ou expanda-o para mostrar conjuntos externos, dependendo se pretende impor dependências de namespaces. Eliminar os assemblies não obrigatórios do Code Map.
Adicione um elemento do Diagrama de Validação de Dependências ao projeto de Validação de Dependências na sua solução.
Seleccione todos os nodes no Code Map (use Ctrl A, ou use a seleção do elástico pressionando a tecla Shift antes de clicar, arrastar e largar).
Arraste e solte, ou copie e cole, os elementos selecionados para o novo diagrama de validação de dependências.
Isto mostra a arquitetura atual da aplicação. Decide qual é a arquitetura que queres e modifica o diagrama de dependências em conformidade.
Criar camadas a partir de artefactos
Pode criar camadas a partir de itens da solução do Visual Studio, como projetos, ficheiros de código, namespaces, classes e métodos. Isto cria automaticamente ligações entre camadas e itens, incluindo-os no processo de validação de camadas.
Pode ligar camadas a itens que não suportam validação, como documentos Word ou apresentações em PowerPoint. Isto permite-lhe associar uma camada a especificações ou planos. Também podes ligar camadas a ficheiros em projetos que são partilhados por várias aplicações, mas o processo de validação não inclui essas camadas, que aparecem com nomes genéricos como "Camada 1" e "Camada 2".
Para verificar se um item ligado suporta validação, abra o Explorador de Camada e examine a propriedade Suporta Validação do item. Veja Gestão de ligações para artefatos.
| Para | Siga estes passos |
|---|---|
| Criar uma camada para um único artefacto |
Importante: Arrastar ficheiros binários para o diagrama de dependências não adiciona automaticamente as suas referências ao projeto de modelação. Adiciona manualmente os ficheiros binários que queres validar ao projeto de modelação. Para adicionar ficheiros binários ao projeto de modelação
|
| Crie uma única camada para todos os artefactos selecionados | Arrasta todos os artefactos para o diagrama de dependências ao mesmo tempo. Uma camada aparece no diagrama e está ligada a todos os artefactos. |
| Crie uma camada para cada artefacto selecionado | Pressiona e mantém premida a tecla SHIFT enquanto arrastas todos os artefactos para o diagrama de dependências ao mesmo tempo. Nota: Se usares a tecla SHIFT para selecionar uma variedade de itens, liberta a tecla depois de selecionares os artefactos. Pressiona e mantém pressionado novamente quando arrastas os artefactos para o diagrama. Uma camada para cada artefacto aparece no diagrama e está ligada a cada artefacto. |
| Adicionar um artefacto a uma camada | Arrasta o artefacto para a camada. |
| Criar uma nova camada não ligada | Na Toolbox, expanda a secção do Diagrama de Dependências e depois arraste uma Camada até ao diagrama de dependências. Para adicionar várias camadas, clique duas vezes na ferramenta. Quando terminares, escolhe a ferramenta Pointer ou carrega na tecla ESC . - ou - Abre o menu de atalho do diagrama de dependências, escolhe Adicionar e depois escolhe Camada. |
| Criar camadas aninhadas | Arrasta uma camada existente para outra. - ou - Abre o menu de atalho de uma camada, escolhe Adicionar e depois escolhe Camada. |
| Crie uma nova camada que contenha duas ou mais camadas existentes | Seleciona as camadas, abre o menu de atalhos para a tua seleção e depois escolhe Grupo. |
| Muda a cor de uma camada | Define a propriedade Color para a cor que queres. |
| Especifique que artefactos associados a uma camada não devem pertencer aos namespaces especificados | Digite os namespaces na propriedade Forbidden Namespaces da camada. Use um ponto-e-vírgula (;) para separar os namespaces. |
| Especifique que artefactos associados a uma camada não podem depender dos namespaces especificados | Digite os namespaces na propriedade da camada Forbidden Namespace Dependencies. Use um ponto-e-vírgula (;) para separar os namespaces. |
| Especifique que os artefatos associados a uma camada devem pertencer a um dos namespaces especificados | Digite o namespace na propriedade Required Namespaces da camada. Use um ponto-e-vírgula (;) para separar os namespaces. |
O número numa camada indica o número de artefactos ligados à camada. No entanto, ao ler este número, lembre-se:
Se uma camada se liga a um artefacto que contém outros artefactos, mas a camada não se liga diretamente aos outros artefactos, então o número inclui apenas o artefacto ligado. No entanto, os outros artefactos são incluídos para análise durante a validação da camada.
Por exemplo, se uma camada estiver ligada a um único namespace, então o número de artefactos ligados é 1, mesmo que o namespace contenha classes. Se a camada também tiver ligações para cada classe no namespace, então o número incluirá as classes ligadas.
Se uma camada contiver outras camadas ligadas a artefactos, então a camada container também está ligada a esses artefactos, mesmo que o número na camada container não inclua esses artefactos.
Gerir ligações entre camadas e artefactos
No diagrama de dependências, abra o menu de atalhos para a camada e depois escolha Ver Ligações.
O Explorador de Camadas mostra os links dos artefactos para a camada selecionada.
Utilize as seguintes tarefas para gerir estas ligações:
| Para | No Explorador de Camada |
|---|---|
| Apagar a ligação entre a camada e um artefacto | Abre o menu de atalho para o link do artefacto e depois escolhe Apagar. |
| Mover a ligação de uma camada para outra | Arraste o link do artefacto para uma camada existente no diagrama. - ou - 1. Abra o menu de atalho para o link do artefacto e depois escolha Cortar. 2. No diagrama de dependências, abra o menu de atalhos da camada e depois escolha Passar. |
| Copie o link de uma camada para outra | 1. Abra o menu de atalho para o link do artefacto e depois escolha Copiar. 2. No diagrama de dependências, abra o menu de atalhos da camada e depois escolha Passar. |
| Criar uma nova camada a partir de um link de artefacto existente | Arraste o link do artefacto para uma área em branco no diagrama. |
| Verifique se um artefacto ligado suporta validação contra o diagrama de dependências. | Consulte a coluna Validação Suportada para o link do artefacto. |
Engenharia reversa das dependências existentes
Existe uma dependência sempre que um artefato associado a uma camada tem uma referência a um artefato associado a outra camada. Por exemplo, uma classe em uma camada declara uma variável que tem uma classe em outra camada. Podes fazer engenharia inversa de dependências existentes para artefactos ligados a camadas no diagrama.
Note
As dependências não podem ser reversamente engenheiradas para certos tipos de artefactos. Por exemplo, nenhuma dependência será revertida de ou para uma camada vinculada a um arquivo de texto. Para ver quais os artefactos que têm dependências associadas que se podem analisar por engenharia inversa, abre o menu de contexto de uma ou várias camadas e depois escolhe Ver Ligações. No Explorador de Camadas, examine a coluna Suportes de Validação. As dependências não serão descodificadas para artefactos para os quais esta coluna mostra Falso.
Selecione uma ou várias camadas, abra o menu de atalho para uma camada selecionada e depois escolha Gerar Dependências.
Se vires algumas dependências que não deveriam existir, podes editar essas dependências para as alinhar com o design pretendido.
Editar camadas e dependências para mostrar o design pretendido
Para descrever as alterações que planeia fazer ao seu sistema ou à arquitetura pretendida, edite o diagrama de dependências:
| Para | Realize estes passos |
|---|---|
| Alterar ou restringir a direção de uma dependência | Defina a propriedade Direction. |
| Criar novas dependências | Use as ferramentas de Dependência e Dependência Bidirecional. Para desenhar várias dependências, clique duas vezes na ferramenta. Quando terminares, escolhe a ferramenta Pointer ou carrega na tecla ESC . |
| Especifique que artefactos associados a uma camada não podem depender dos namespaces especificados | Digite os namespaces na propriedade da camada Forbidden Namespace Dependencies. Use um ponto-e-vírgula (;) para separar os namespaces. |
| Especifique que os artefatos associados a uma camada não devem pertencer aos namespaces especificados | Digite os namespaces na propriedade Forbidden Namespaces da camada. Use um ponto-e-vírgula (;) para separar os namespaces. |
| Especifique que os artefatos associados a uma camada devem pertencer a um dos namespaces especificados | Digite o namespace na propriedade Required Namespaces da camada. Use um ponto-e-vírgula (;) para separar os namespaces. |
Alterar a forma como os elementos aparecem no diagrama
Podes alterar o tamanho, forma, cor e posição das camadas ou a cor das dependências editando as suas propriedades.
Descubra padrões e dependências num mapa de código
Ao criar diagramas de dependências, também pode criar mapas de código. Esses diagramas podem ajudá-lo a descobrir padrões e dependências enquanto explora o código. Use o Explorador de Soluções, Class View ou Object Browser para explorar assemblies, namespaces e classes – que muitas vezes correspondem bem às camadas existentes. Para mais informações sobre mapas de código, veja: