Diagramas de dependência: referência

No Visual Studio, você pode usar um diagrama de dependência para visualizar a arquitetura lógica de alto nível do seu sistema. Um diagrama de dependência organiza os artefatos físicos em seu sistema em grupos lógicos e abstratos chamados camadas. Essas camadas descrevem as principais tarefas que os artefatos executam ou os principais componentes do seu sistema. Cada camada também pode conter camadas aninhadas que descrevem tarefas mais detalhadas.

Para ver quais edições do Visual Studio dão suporte a esse recurso, confira Suporte de edição para ferramentas de arquitetura e modelagem.

Observação

Diagramas de dependência para projetos do .NET Core têm suporte a partir do Visual Studio 2019 versão 16.2.

É possível especificar as dependências desejadas ou existentes entre camadas. Essas dependências, representadas como setas, indicam quais camadas podem usar ou atualmente usam a funcionalidade representada por outras camadas. Ao organizar seu sistema em camadas que descrevem funções e funções distintas, um diagrama de dependência pode ajudar a facilitar a compreensão, a reutilização e a manutenção do código.

Use um diagrama de dependência para ajudá-lo a executar as seguintes tarefas:

  • Comunique a arquitetura lógica existente ou pretendida do seu sistema.

  • Descubra conflitos entre o código existente e a arquitetura pretendida.

  • Visualize o impacto das alterações na arquitetura pretendida ao refatorar, atualizar ou evoluir seu sistema.

  • Reforce a arquitetura pretendida durante o desenvolvimento e a manutenção do seu código, incluindo a validação com as operações de check-in e de build.

Esse tópico descreve os elementos que você pode usar em um diagrama de dependência. Para obter informações mais detalhadas sobre como criar e desenhar diagramas de dependência, consulte Diagramas de dependência: diretrizes. Para obter mais informações sobre padrões de camadas, visite o site Práticas e Padrões.

Leitura de diagramas de dependência

Elements on dependency diagrams

A tabela a seguir descreve os elementos que você pode usar em um diagrama de dependência.

Forma Element Descrição
1 Camada Um grupo lógico de artefatos físicos em seu sistema. Esses artefatos podem ser namespaces, projetos, classes, métodos e assim por diante.

Para ver os artefatos vinculados a uma camada, abra o menu de atalho da camada e escolha Exibir Links para abrir o Gerenciador de Camadas.

Para obter mais informações, consulte Gerenciador de Camadas.

- Dependências de namespace proibidos - especifica que os artefatos associados a essa camada não podem depender dos namespaces especificados.
- Namespaces proibidos - especifica que os artefatos associados a essa camada não devem pertencer aos namespaces especificados.
- Namespaces necessários - especifica que os artefatos associados a essa camada devem pertencer a um dos namespaces especificados.
2 Dependência Indica que uma camada pode usar a funcionalidade em outra camada, mas não vice-versa.

- Direção - especifica a direção da dependência.
3 Dependência bidirecional Indica que uma camada pode usar a funcionalidade em outra camada, e vice-versa.

- Direção - especifica a direção da dependência.
4 Comentário Use para adicionar observações gerais ao diagrama ou elementos no diagrama.
5 Link de comentário Use para vincular comentários a elementos no diagrama.

Gerenciador de Camadas

Você pode vincular cada camada a artefatos em sua solução, como projetos, classes, namespaces, arquivos de projeto e outras partes do software. O número em uma camada indica o número de artefatos que estão associados à camada. No entanto, ao interpretar o número de artefatos em uma camada, lembre-se do seguinte:

  • Se uma camada estiver vinculada a um artefato que contenha outros artefatos, mas não estiver vinculada diretamente a outros artefatos, o número incluirá apenas o artefato vinculado. No entanto, os outros artefatos estã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 se o namespace contiver 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 estará vinculada a esses artefatos, mesmo que o número na camada de contêiner não inclua esses artefatos.

Para obter mais informações sobre como vincular camadas e artefatos, consulte:

Examinar os artefatos vinculados

No diagrama de dependência, abra o menu de atalho de uma ou mais camadas e, em seguida, escolha Exibir Links.

O Gerenciador de Camadas é aberto e mostra os artefatos que estão vinculados às camadas selecionadas. O Gerenciador de Camadas tem uma coluna que mostra cada uma das propriedades dos links de artefatos.

Observação

Se você não conseguir ver todas essas propriedades, expanda a janela Gerenciador de Camadas.

Coluna no Gerenciador de Camadas Descrição
Categorias O tipo de artefato, como uma classe, namespace, arquivo de origem e assim por diante
Camada A camada vinculada ao artefato
Dá suporte à validação Se True, o processo de validação da camada poderá verificar se o projeto está em conformidade com as dependências de ou para esse elemento.

Se False, o link não participará do processo de validação da camada.

Para obter mais informações, consulte Diagramas de dependência: diretrizes.
Identificador A referência ao artefato vinculado

Confira também