Compartilhamento de Classes entre DSLs usando uma biblioteca de DSL
No Visual Studio visualização e modelagem SDK, você pode criar uma definição de DSL incompleta que podem ser importados para outro DSL.Isso permite que você fatorar partes comuns dos modelos semelhantes.
Criação e uso de bibliotecas de DSL
Para criar uma biblioteca de DSL
Crie um novo projeto DSL e escolha o modelo de solução de biblioteca de DSL.
Um único projeto DSL será criado com um modelo vazio.
Você pode adicionar classes de domínio, relacionamentos, formas e assim por diante.
Não tem os elementos na biblioteca formar uma única árvore de incorporação.
Para definir uma relação que podem usar a importadores, criará duas classes de domínio e criar o relacionamento entre eles.
Considere a configuração do O modificador de herança das classes de domínio para Abstract.
Você pode adicionar elementos que você define no Explorer DSL, como, por exemplo, os desenvolvedores de conexão.
Você pode adicionar personalizações que requerem código adicional, como, por exemplo, restrições de validação.
Clique em transformar todos os modelos de.
Crie o projeto.
Quando você distribui o DSL para outras pessoas usem, você deve fornecer o assembly compilado (DLL) e o arquivo DslDefinition.dsl.Você pode encontrar o assembly compilado em uma pasta sobDsl\bin\*
Para importar uma biblioteca de DSL
Em outra definição de DSL, em Explorer DSL, a classe de raiz de DSL com o botão direito e, em seguida, clique em Adicionar nova importação de DslLibrary.
Na janela Properties, defina a Caminho do arquivo da biblioteca.Você pode usar um caminho absoluto ou relativo.
A biblioteca de importado aparece no Explorer DSL, no modo somente leitura.
Você pode usar as classes importadas como classes base.Crie uma classe de domínio na importação DSL e nas propriedades da janela, defina Classe Base a uma classe importada.
Clique em transformar todos os modelos.
Adicione uma referência ao assembly (DLL) que foi desenvolvida por um projeto da biblioteca de DSL ao projeto DSL.
Crie a solução.
Uma biblioteca de DSL pode importar outras bibliotecas.Quando você importa uma biblioteca, o suas importações aparecem automaticamente no Gerenciador de DSL.