Gerar e configurar seu aplicativo de modelos

Você pode gerar ou configurar as partes da aplicação de um modelo.O modelo pode estar em UML ou uma DSL.

O modelo representa os requisitos mais diretamente do que o código.Derivando o comportamento do aplicativo diretamente a partir do modelo, você pode responder a requisitos alterados atualização muito mais rapidez e confiança, o código.Embora algum trabalho inicial é necessária para configurar a derivação, esse investimento é retornado se você espera que as alterações nos requisitos, ou se você planeja fazer diversas variantes do produto.

Gerando o código do seu aplicativo a partir de um modelo

A maneira mais fácil de gerar o código é usando modelos de texto.Você pode gerar o código na mesma Visual Studio no qual você pode manter o modelo de solução.Para obter mais informações, consulte:

Esse método é fácil de aplicar incrementalmente.Iniciar com um aplicativo que funciona somente em um caso específico e escolha algumas partes dele que você deseja variar a partir do modelo.Renomeie os arquivos de origem dessas peças para que eles se tornem arquivos de modelo (.tt) do texto.Neste ponto, os arquivos de origem. cs serão gerados automaticamente dos arquivos de modelo, para que o aplicativo funcionará como antes.

Em seguida, você pode tirar uma parte do código e substituí-lo com uma expressão de modelo de texto, que lê o modelo e gera essa parte do arquivo de origem.Pelo menos um valor do modelo deve gerar a fonte original, de modo que, novamente, você pode executar o aplicativo e ele funcionará como antes.Depois de testar os valores de modelo diferente, você pode mover para inserir expressões de modelo em outra parte do código.

Esse método incremental significa que a geração de código geralmente é uma abordagem de baixo risco.Os aplicativos resultantes geralmente ser quase tão bom quanto uma versão de escrita à mão.

No entanto, se você iniciar com um aplicativo existente, você pode achar que muita refatoração é necessária para separar os diferentes comportamentos são regidos pelo modelo para que eles podem ser variados independentemente.É recomendável que você avalie a esse aspecto do aplicativo ao calcular o custo do projeto.

Configurar seu aplicativo de um modelo

Se você deseja variar o comportamento do aplicativo em tempo de execução, você não pode usar a geração de código, o que gera o código-fonte antes que o aplicativo é compilado.Em vez disso, você pode criar seu aplicativo para ler o modelo UML ou DSL e para variar o seu comportamento adequadamente.Para obter mais informações, consulte:

Esse método também pode ser aplicado incrementalmente, mas não há mais trabalho no início.Você precisa escrever o código que lerá o modelo e configurar uma estrutura que permite a seus valores fique acessível para as partes de variáveis.Tornar as partes variáveis genérica é mais cara do que a geração de código.

Normalmente, um aplicativo genérico executa menos bem suas contrapartes específico.Se o desempenho é crucial, seu plano de projeto deve incluir uma avaliação desse risco.

Desenvolvimento de um aplicativo derivado

As seguintes diretrizes gerais pode ser útil.

  • Comece específicos e generalizar. Escreva uma versão específica do seu aplicativo pela primeira vez.Esta versão deve funcionar em um conjunto de condições.Quando estiver satisfeito que ele está funcionando corretamente, você pode fazer algumas delas derivam de um modelo.Estenda as partes derivadas gradualmente.

    Por exemplo, um site que possui um conjunto específico de páginas da Web antes de criar um aplicativo Web que apresenta páginas que são definidas em um modelo de design.

  • Modele os aspectos de variant. Identifica os aspectos que irá variar, seja entre uma implantação e o outro, ou ao longo do tempo como requisitos alterar.Esses são os aspectos que devem ser derivados de um modelo.

    Por exemplo, se o conjunto de Web páginas e links entre eles é alterado, mas o estilo e o formato das páginas é sempre o mesmo, e em seguida, o modelo deve descrever os links, mas não tem que descrevem o formato das páginas.

  • Preocupações separadas. Se os aspectos de variáveis podem ser divididos em áreas independentes, use modelos separados para cada área.Usando ModelBus, você pode definir as operações que afetam os modelos e as restrições entre eles.

    Por exemplo, use um modelo para definir a navegação entre as páginas da Web e um modelo diferente para definir o layout das páginas.Para obter mais informações, consulte Como: integrar modelos UML com outras ferramentas e modelos.

  • O requisito, não é a solução de modelo. Crie um DSL ou adaptar UML para que ele descreve os requisitos de usuário.Por outro lado, não crie a notação de acordo com as variáveis aspectos da implementação.

    Por exemplo, o modelo de navegação da Web deve representar páginas da Web e hiperlinks entre eles.O modelo de navegação da Web não deve representar fragmentos de HTML ou classes em seu aplicativo.

  • Gerar ou interpretar? Se os requisitos para uma determinada implantação raramente serão alterados, gere o código de programa do modelo.Se os requisitos podem mudar com freqüência, ou podem coexistir em mais de uma variante na mesma implantação, escreve o aplicativo para que ele possa ler e interpretar um modelo.

    Por exemplo, se você usar o modelo do seu site da Web para desenvolver uma série de sites diferentes e instalados separadamente, você deve gerar o código do site do modelo.Mas ele usar seu modelo para controlar um site que muda diariamente, então é melhor escrever um servidor Web que lê o modelo e apresenta o site de maneira adequada.

  • UML ou DSL? Considere a criação de sua notação de modelagem usando estereótipos para estender a UML.Se não houver nenhum diagrama UML que se adapta ao objetivo, defina uma DSL.Mas evite quebrar a semântica padrão de UML.

    Por exemplo, um diagrama de classe UML é uma coleção de caixas e setas; com essa notação pode teoricamente definir qualquer coisa.Mas, não recomendamos que você use o diagrama de classes, exceto onde você está descrevendo na verdade um conjunto de tipos.Por exemplo, você pode adaptar os diagramas de classe para descrever diferentes tipos de páginas da Web.

Consulte também

Conceitos

Como: gerar arquivos a partir de um modelo UML

Como: ler um modelo UML no código de programa

Como: abrir um modelo de arquivo no código de programa

Geração de código de tempo de design usando modelos de texto T4

Outros recursos

Gerando código a partir de uma linguagem específica de domínio