Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para visualizar a arquitetura lógica de alto nível do sistema de software, crie um diagrama dependency em Visual Studio. Para garantir que seu código permaneça consistente com esse design, valide seu código com um diagrama de dependência. Você pode criar diagramas de dependência para projetos do Visual C# e Visual Basic. Para ver quais edições do Visual Studio dão suporte a esse recurso, consulte o suporte do Edition para ferramentas de arquitetura e modelagem.
Um diagrama de dependência permite organizar Visual Studio itens de solução em grupos lógicos e abstratos chamados layers. Você pode usar camadas para descrever as principais tarefas executadas por esses artefatos ou os principais componentes do sistema.
Cada camada pode conter outras camadas que descrevem tarefas mais detalhadas. Você também pode especificar as dependências pretendidas ou existentes entre camadas. Essas dependências, representadas como setas, mostram as camadas que usam ou podem usar a funcionalidade representada por outras camadas. Para manter o controle arquitetônico do código, mostre as dependências pretendidas no diagrama e valide o código no 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ência, verifique se sua solução tem um projeto de modelagem.
Importante
Não adicione, arraste ou copie um diagrama de dependência existente de um projeto de modelagem para outro projeto de modelagem ou para outro local na solução. Isso preserva as referências do diagrama original, mesmo se você alterar o diagrama. Isso também impede que a validação de camada funcione corretamente e pode causar outros problemas, como elementos ausentes ou outros erros ao tentar abrir o diagrama.
Em vez disso, adicione um novo diagrama de dependência ao projeto de modelagem. Copie os elementos do diagrama de origem para o novo diagrama. Salve ambos, o projeto de modelagem e o novo diagrama de dependência.
Adicionar um novo diagrama de dependência a um projeto de modelagem
Note
Diagramas de dependência para projetos do .NET Core têm suporte a partir do Visual Studio 2019 versão 16.2.
Clique com o botão direito do mouse no projeto de modelagem no Gerenciador de Soluções e selecione Add>New Item.
Na janela Adicionar Novo Item , selecione Diagrama de Validação de Dependência, insira um nome para o diagrama na parte inferior da janela e selecione Adicionar.
Arrastar e soltar, ou copiar e colar, de um Mapa de Código
Gere um Mapa de Código para a solução usando o menu Arquitetura .
Considere aplicar um filtro de Code Map para remover pastas da solução e "Ativos de Teste" se você quiser apenas impor dependências no código do produto.
No Mapa de Código gerado, remova o nó "Externo" ou expanda-o para exibir as assemblies externas, dependendo de você querer impor dependências de namespace. Exclua assemblies não necessários do Mapa de Códigos.
Adicione um item diagrama de validação de dependência ao projeto de validação de dependência em sua solução.
Selecione todos os nós no Mapa do Código (use Ctrl + A ou use a seleção de elástico pressionando a tecla Shift antes de clicar, arrastar e liberar).
Arraste e solte ou copie e cole os elementos selecionados no novo diagrama de Validação de Dependência.
Isso mostra a arquitetura atual do aplicativo. Decida o que você deseja que a arquitetura seja e modifique o diagrama de dependência adequadamente.
Criar camadas a partir de artefatos
Você pode criar camadas a partir de itens de solução do Visual Studio, como projetos, arquivos de código, namespaces, classes e métodos. Isso cria automaticamente links entre camadas e itens, incluindo-os no processo de validação de camada.
Você pode vincular camadas a itens que não dão suporte à validação, como documentos Word ou apresentações PowerPoint. Isso permite associar uma camada a especificações ou planos. Você também pode vincular camadas a arquivos em projetos compartilhados em vários aplicativos, mas o processo de validação não incluirá essas camadas, que aparecem com nomes genéricos como "Camada 1" e "Camada 2".
Para ver se um item vinculado dá suporte à validação, abra o Gerenciador de Camadas e examine a propriedade Validação de Suportes do item. Consulte Gerenciamento de links para artefatos.
| Para | Siga estas etapas |
|---|---|
| Criar uma camada para um único artefato |
Importante: Arrastar arquivos binários para o diagrama de dependência não adiciona automaticamente suas referências ao projeto de modelagem. Adicione manualmente os arquivos binários que você deseja validar ao projeto de modelagem. Para adicionar arquivos binários ao projeto de modelagem
|
| Criar uma única camada para todos os artefatos selecionados | Arraste todos os artefatos para o diagrama de dependência ao mesmo tempo. Uma camada aparece no diagrama e está vinculada a todos os artefatos. |
| Criar uma camada para cada artefato selecionado | Pressione e segure a tecla SHIFT enquanto arrasta todos os artefatos para o diagrama de dependência ao mesmo tempo. Nota: Se você usar a chave SHIFT para selecionar um intervalo de itens, libere a chave depois de selecionar os artefatos. Mantenha-o pressionado novamente ao arrastar os artefatos para o diagrama. Uma camada para cada artefato aparece no diagrama e é vinculada a cada artefato. |
| Adicionar um artefato a uma camada | Arraste o artefato para a camada. |
| Criar uma nova camada desvinculada | Na Caixa de Ferramentas, expanda a seção Diagrama de Dependência e arraste uma Camada para o diagrama de dependência. Para adicionar várias camadas, clique duas vezes na ferramenta. Quando terminar, escolha a ferramenta Ponteiro ou pressione a tecla ESC . - ou - Abra o menu de atalho para o diagrama de dependência, escolha Adicionar e escolha Camada. |
| Criar camadas aninhadas | Arraste uma camada existente para outra camada. - ou - Abra o menu de atalho para uma camada, escolha Adicionar e escolha Camada. |
| Criar uma nova camada que contenha duas ou mais camadas existentes | Selecione as camadas, abra o menu de atalho para sua seleção e escolha Agrupar. |
| Alterar a cor de uma camada | Defina sua propriedade Color com a cor desejada. |
| Especifique que os artefatos associados a uma camada não devem pertencer aos namespaces especificados | Digite os namespaces na propriedade Namespaces Proibidos da camada. Use um ponto-e-vírgula (;) para separar os namespaces. |
| Especifique que os artefatos associados a uma camada não podem depender dos namespaces especificados | Digite os namespaces na propriedade Dependências de Namespace Proibidas 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 Namespaces Obrigatórios da camada. Use um ponto-e-vírgula (;) para separar os namespaces. |
O número em uma camada indica o número de artefatos que estão vinculados à camada. No entanto, ao ler esse número, lembre-se:
Se uma camada estiver vinculada a um artefato que contenha outros artefatos, mas a camada não estiver diretamente vinculada aos outros artefatos, esse número incluirá apenas o artefato vinculado. No entanto, os outros artefatos são incluídos para análise durante a validação da camada.
Por exemplo, se uma camada estiver vinculada a um único namespace, o número de artefatos vinculados será 1, mesmo que o namespace contenha classes. Se a camada também tiver links para cada classe no namespace, o número incluirá as classes vinculadas.
Se uma camada contiver outras camadas vinculadas a artefatos, a camada de contêiner também será vinculada a esses artefatos, mesmo que o número na camada de contêiner não inclua esses artefatos.
Gerenciar links entre camadas e artefatos
No diagrama de dependência, abra o menu de atalho da camada e escolha Exibir Links.
O Gerenciador de Camadas mostra os links de artefato para a camada selecionada.
Use as seguintes tarefas para gerenciar esses links:
| Para | No Explorador de Camadas |
|---|---|
| Excluir o link entre a camada e um artefato | Abra o menu de atalho para o link do artefato e, em seguida, escolha Excluir. |
| Mover o link de uma camada para outra | Arraste o link do artefato para uma camada existente no diagrama. - ou - 1. Abra o menu de atalho para o link do artefato e escolha Recortar. 2. No diagrama de dependência, abra o menu de atalho da camada e escolha Colar. |
| Copiar o link de uma camada para outra | 1. Abra o menu de atalho para o link do artefato e escolha Copiar. 2. No diagrama de dependência, abra o menu de atalho da camada e, em seguida, escolha Colar. |
| Criar uma nova camada a partir de um link de artefato existente | Arraste o link do artefato para uma área em branco no diagrama. |
| Verifique se um artefato vinculado dá suporte à validação no diagrama de dependência. | Observe a coluna Dá Suporte à Validação do link de artefato. |
Realizar engenharia reversa de dependências existentes
Existe uma dependência onde quer que um artefato associado a uma camada tenha 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. Você pode fazer engenharia reversa de dependências existentes para artefatos que estão vinculados a camadas no diagrama.
Note
As dependências não podem ser analisadas por engenharia reversa para determinados tipos de artefatos. Por exemplo, nenhuma dependência sofrerá engenharia reversa de ou para uma camada vinculada a um arquivo de texto. Para ver quais artefatos têm dependências que você pode fazer engenharia reversa, abra o menu de atalho para uma ou várias camadas e escolha Exibir Links. No Gerenciador de Camadas, examine a coluna Validação de Suporte. As dependências não sofrerão engenharia reversa para artefatos para os quais essa coluna mostra False.
Selecione uma ou várias camadas, abra o menu de atalho de uma camada selecionada e escolha Gerar Dependências.
Se você vir algumas dependências que não deveriam existir, poderá editar essas dependências para alinhá-las com o design pretendido.
Editar camadas e dependências para mostrar o design pretendido
Para descrever as alterações que você planeja fazer ao seu sistema ou à arquitetura pretendida, edite o diagrama de dependência:
| Para | Executar estas etapas |
|---|---|
| Alterar ou restringir a direção de uma dependência | Defina a propriedade Direction. |
| Criar novas dependências | Use as ferramentas Dependência e Dependência Bidirecional. Para desenhar várias dependências, clique duas vezes na ferramenta. Quando terminar, escolha a ferramenta Ponteiro ou pressione a tecla ESC . |
| Especifique que os artefatos associados a uma camada não podem depender dos namespaces especificados | Digite os namespaces na propriedade Dependências de Namespace Proibidas da camada. 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 Namespaces Proibidos 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 Namespaces Obrigatórios da camada. Use um ponto-e-vírgula (;) para separar os namespaces. |
Alterar como os elementos aparecem no diagrama
Você pode alterar o tamanho, a forma, a cor e a posição das camadas ou a cor das dependências editando suas propriedades.
Descobrir padrões e dependências em um mapa de código
Ao criar diagramas de dependência, você também pode criar mapas de código. Esses diagramas podem ajudá-lo a descobrir padrões e dependências enquanto você explora o código. Use o Gerenciador de Soluções, Visualizador de Classe ou Pesquisador de Objetos para explorar assemblies, namespaces e classes - que frequentemente correspondem às camadas já existentes. Para obter mais informações sobre mapas de código, consulte: