Escopo

Este Registro de Base de Conhecimento visa orientar o Desenvolvedor à criar rotinas semi-específicas que utilizem herança visual.

Cenário

  • Você precisa criar uma nova rotina de manutenção (CRUD, Criar, Alterar, Visualizar e Excluir registros);
  • Você precisa converter uma rotina que não utiliza herança visual para que a rotina adeque-se ao novo padrão.

Benefícios

  • Herança Visual Facilitada;
  • Menor quantidade de código;
  • Menor quantidade de arquivos no projeto (cerca de 50%);

O que muda de um modelo para o outro?

  • No novo modelo há somente um arquivo [.vb] que cuida de toda a parte funcional dos quatro direitos (Criar, Alterar, Visualizar e Excluir);
  • Arquivos de direitos genéricos não devem mais existir, ex: Direito Executar, Excluir, Imprimir, Auditar. Entre outros.
  • Os direitos Novo, Alterar, Excluir e Visualizar não possuem mais o arquivo [*.vb]. Assim, existirá somente um arquivo [*.aspx] para cada direito;
  • Não há a necessidade de criar um arquivo [*.def.aspx], visto que esta responsabilidade fica para outro arquivo;
  • Para toda rotina existirá um arquivo [*.CRUD.aspx.vb, *.CRUD.aspx e *.CRUD.aspx.designer.vb];
  • As declarações dos controles ficará agora à cargo do arquivo [*.CRUD.aspx.designer.vb];
  • O arquivo [*.CRUD.aspx.designer.vb] será atualizado automaticamente toda vez que o arquivo [*.CRUD.aspx] sofrer alterações;

Estrutura de Arquivos

Veja abaixo na imagem um comparativo de uma conversão. Neste comparativo vemos a estrutura de arquivos antes e depois da conversão:
comparativoArquivo.jpg

Herança visual

Veja abaixo um comparativo do arquivo [rotina132.002.aspx] antes e depois da conversão:
Nota: Esta estrutura de código de ASPX vale também para os direitos [.003, .004 e .006];
comparativoAspx.jpg

Estrutura de Código

A ideia da centralização do código de funcionalidade da rotina visa reduzir a quantidade de classes e código dentro da solução. Assim, há algumas funções que podem ser mescladas, que é o caso do [Salvar] do direito [Novo] e [Alterar].