Partilhar via


Criar diagramas de camada a partir do código

Para visualizar a arquitetura lógica de alto nível do sistema de software, crie um diagrama de camada usando o Visual Studio Ultimate. Para garantir que o código permaneça consistente com esse design, valide o código com um diagrama de camada no Visual Studio Ultimate ou no Visual Studio Premium. É possível criar diagramas de camada para projetos do Visual C# .NET e do Visual Basic .NET.

O que você deseja fazer?

  • Saber mais sobre diagramas de camada

  • Criar um diagrama de camada

  • Criar camadas com base em artefatos

  • Gerenciar links entre camadas e artefatos

  • Fazer engenharia reversa de dependências existentes

  • Editar camadas e dependências para mostrar o design desejado

  • Alterar como os elementos são exibidos no diagrama

Saber mais sobre diagramas de camada

Um diagrama de camada permite organizar itens de solução do Visual Studio em grupos abstratos, lógicos, chamados de camadas. É possível usar camadas para descrever as tarefas principais realizadas por esses artefatos ou os componentes principais do sistema. Cada camada pode conter outras camadas que descrevem tarefas mais detalhadas. Também é possível especificar as dependências desejadas ou existentes entre camadas. Essas dependências, representadas como setas, mostram quais camadas podem usar ou atualmente usam a funcionalidade representada por outras camadas. Para manter controle arquitetônico do código, mostre as dependências desejadas no diagrama e, em seguida, valide o código no diagrama.

Consulte:

Dica

Ao criar um diagrama de camada, você talvez queira levar em consideração a criação dos gráficos de dependência para ajudar a explorar e compreender o código.Esses gráficos podem ajudar a descobrir clusters, padrões, camadas naturais e dependências no código.Isso facilita a atribuição de artefatos a camadas.Você talvez também queira usar o Architecture Explorer para explorar namespaces e classes, que normalmente correspondem bem a camadas existentes.Em seguida, é possível usar diagramas de camada para ajudar a atualizar o código.

Consulte:

Criar um diagrama de camada

Antes de criar um diagrama de camada, verifique se a solução tem um projeto de modelagem. Consulte Criar diagramas e projetos de modelagem UML.

Importante

Não adicione, arraste ou copie um diagrama de camada existente de um projeto de modelagem a outro projeto de modelagem ou a outro local na solução.Isso preserva as referências do diagrama original, mesmo que você altere o diagrama.Isso também impede que a validação da camada funcione corretamente e talvez cause outros problemas como, por exemplo, elementos não encontrados ou outros erros quando você tenta abrir o diagrama.

Em vez disso, adicione um novo diagrama de camada ao projeto de modelagem.Copie os elementos do diagrama de origem para o novo diagrama.Salve o projeto de modelagem e o novo diagrama de camada.

Para adicionar um novo diagrama de camada a um projeto de modelagem

  1. No menu Arquitetura, escolha Novo Diagrama.

  2. Em Modelos, escolha Diagrama de Camada.

  3. Nomeie o diagrama.

  4. Em Adicionar ao Projeto de Modelagem, navegue até e selecione um projeto de modelagem existente na solução.

    -ou-

    Escolha Criar um novo projeto de modelagem para adicionar um novo projeto de modelagem à solução.

    Dica

    O diagrama de camada deve estar dentro de um projeto de modelagem.Porém, é possível vinculá-lo a itens em qualquer lugar na solução.

  5. Não se esqueça de salvar o projeto de modelagem e o diagrama de camada.

Criar camadas com base em artefatos

É possível criar camadas dos itens de solução do Visual Studio como, por exemplo, 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 da camada.

Também é possível vincular camadas a itens que não dão suporte à validação como, por exemplo, documentos do Word ou apresentações do Powerpoint, de forma que você pode associar uma camada a especificações ou planos. Também é possível vincular camadas a arquivos em projetos compartilhados entre vários aplicativos, mas o processo de validação não incluirá essas camadas, exibidas com nomes genéricos como, por exemplo, "Camada 1" e "Camada 2".

Para saber se um item vinculado dá suporte à validação, abra Gerenciador de Camadas e examine a propriedade Dá Suporte à Validação do item. Consulte Gerenciando links para artefatos.

Para

Siga estas etapas

Criar uma camada para um único artefato

  1. Arraste o item para o diagrama de camada com base em qualquer uma das seguintes fontes:

  2. Renomeie a camada para refletir as responsabilidades do código ou dos artefatos associados.

Importante

Arrastar arquivos binários para o diagrama de camada não adiciona automaticamente suas referências ao projeto de modelagem.Você deve adicionar manualmente os arquivos binários que você deseja validar ao projeto de modelagem.

Para adicionar arquivos binários ao projeto de modelagem

  1. No Gerenciador de Soluções, abra o menu de atalho do projeto de modelagem e, em seguida, escolha Adicionar Item Existente.

  2. Na caixa de diálogo Adicionar Item Existente, navegue até os arquivos binários, selecione-os e, em seguida, escolha OK.

    Os arquivos binários são exibidos no projeto de modelagem.

  3. No Gerenciador de Soluções, escolha um arquivo binário adicionado e, em seguida, pressione F4 para abrir a janela Propriedades.

  4. Em cada arquivo binário, defina a propriedade Compilar Ação como Validar.

Criar uma única camada para todos os artefatos selecionados

Arraste todos os artefatos para o diagrama de camada ao mesmo tempo.

Uma camada é exibida no diagrama e está vinculada a todos os artefatos.

Criar uma camada para cada artefato selecionado

Mantenha a tecla SHIFT pressionada enquanto arrasta todos os artefatos para o diagrama de camada ao mesmo tempo.

Dica

Se você usar a tecla SHIFT para selecionar um intervalo de itens, solte a tecla depois de selecionar os artefatos.Mantenha-o pressionado novamente ao arrastar os artefatos para o diagrama.

Uma camada para cada artefato é exibida no diagrama e está vinculada a cada artefato.

Adicionar um artefato a uma camada

Arraste o artefato à camada.

Criar uma nova camada desvinculada

Na Caixa de Ferramentas, expanda a seção Diagrama de Camada e, em seguida, arraste uma Camada para o diagrama de camada.

Para adicionar várias camadas, clique duas vezes na ferramenta. Quando você terminar, escolha a ferramenta Ponteiro ou pressione a tecla ESC.

- ou -

Abra o menu de atalho do diagrama de camada e, em seguida, escolha Adicionar e Camada.

Criar camadas aninhadas

Arraste uma camada existente para outra camada.

- ou -

Abra o menu de atalho de uma camada e, em seguida, escolha Adicionar e Camada.

Criar uma nova camada que contém duas ou mais camadas existentes

Selecione as camadas, abra o menu de atalho da seleção e, em seguida, escolha Grupo.

Alterar a cor de uma camada

Defina a propriedade Cor como a cor desejada.

Especificar 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.

Especificar que os artefatos associados a uma camada não dependem 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.

Especificar 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 associados à camada. No entanto, ao ler esse número, 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.

  1. No diagrama de camada, abra o menu de atalho da camada e, em seguida, escolha Exibir Links.

    Gerenciador de Camadas mostra os links de artefato da camada selecionada.

  2. Use as seguintes tarefas para gerenciar esses links:

Para

No Gerenciador de Camadas

Excluir o links entre a camada e um artefato

Abra o menu de atalho do link de artefato e, em seguida, escolha Excluir.

Mover o link de uma camada para outra

Arraste o link de artefato para uma camada existente no diagrama.

- ou -

  1. Abra o menu de atalho do link de artefato e, em seguida, escolha Recortar.

  2. No diagrama de camada, abra o menu de atalho da camada e, em seguida, escolha Colar.

Copiar o link de uma camada para outra

  1. Abra o menu de atalho do link de artefato e, em seguida, escolha Copiar.

  2. No diagrama de camada, abra o menu de atalho da camada e, em seguida, escolha Colar.

Criar uma nova camada com base em um link de artefato existente

Arraste o link de artefato para uma área em branco no diagrama.

Verifique se um artefato vinculado dá suporte à validação no diagrama de camada.

Observe a coluna Dá Suporte à Validação do link de artefato.

Fazer engenharia reversa de dependências existentes

Existirá uma dependência sempre que um artefato associado a uma camada tiver 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. É possível fazer engenharia reversa em dependências existentes para artefatos vinculados a camadas no diagrama.

Dica

As dependências não podem sofrer 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 saber quais artefatos têm dependências que é possível sofrer engenharia reversa, abra o menu de atalho de uma ou mais camadas e, em seguida, escolha Exibir Links.Em Gerenciador de Camadas, examine a coluna Dá Suporte à Validação.As dependências não sofrerão engenharia reversa para artefatos para os quais essa coluna mostra Falso.

  • Selecione uma ou mais camadas, abra o menu de atalho de uma camada selecionada e, em seguida, escolha Gerar Dependências.

Normalmente, você verá algumas dependências que não devem existir. É possível editar essas dependências para alinhá-las com o design desejado.

Editar camadas e dependências para mostrar o design desejado

Para descrever as alterações que você pretende fazer no sistema ou na arquitetura desejada, edite o diagrama de camada:

Para

Realizar estas etapas

Alterar ou restringir a direção de uma dependência

Defina sua propriedade Direção.

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 você terminar, escolha a ferramenta Ponteiro ou pressione a tecla ESC.

Especificar que os artefatos associados a uma camada não dependem 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.

Especificar 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.

Especificar 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 são exibidos no diagrama

É possível alterar o tamanho, a forma, a cor e a posição das camadas ou a cor das dependências editando-se suas propriedades.

Consulte também

Conceitos

Visualizar código