Programando com a API UML
A API UML do Visual Studio Ultimate permite que você escreva código para criar, ler e atualizar modelos e diagramas de UML.
Além das páginas de referência da API, os tópicos a seguir descrevem a API.
Tópico |
Tipos e métodos de exemplo descritos |
Recursos descritos |
---|---|---|
Elementos UML e suas propriedades e associações. Por exemplo, IElement e seus descendentes, incluindo: IClass, IActivity, IUseCase, IComponent, IInteraction, IModel, IPackage |
No Visual Studio Ultimate, os modelos de UML obedecem a versão 2.1.2 de especificação de UML, que pode ser obtida na Página de recurso de UML. Cada tipo é uma interface que tem o mesmo nome que o tipo de UML, prefixados com “I”. |
|
IPackage.CreateClass() IClass.CreateOperation() |
Cada tipo de elemento tem métodos para criar seus filhos. |
|
IShape, IDiagram IShape.Move() |
Cada elemento em um modelo pode ser representado como uma forma em um diagrama. Em alguns casos, você pode criar novas formas para cada objeto. Você pode mover, redimensionar, colorir e recolher ou expandir essas formas. |
|
IModelStore IDiagramContext |
O Armazenamento de Modelo armazena o modelo. O contexto do diagrama concede acesso ao diagrama e ao repositório atuais. |
|
ILinkedUndoContext |
Você pode vincular uma série de alterações em uma transação. |
|
IMenuCommand IGestureExtension ICommandExtension |
Você pode estender a funcionalidade de um diagrama definindo os comandos chamados clicando duas vezes e arrastando para o diagrama. |
|
ValidationContext |
Você pode definir as regras de validação que ajudam a garantir que um modelo obedeça as restrições especificadas. |
|
IElement, IShape |
Quando um elemento é arrastado do Gerenciador de Modelos UML ou de um diagrama de UML para outro diagrama ou aplicativo, ele é serializado como um IDataObject. |
|
IInteraction, ILifeline, IMessage |
A criação e atualização de um diagrama de interação diferem um pouco do trabalho com outros tipos de diagrama. |
|
ILayer, ILayerDiagram |
Você pode escrever código para criar e editar diagramas de camada, e também validar o código de programa neles. |
Sobre a implementação
As ferramentas de modelagem UML são criadas nas Ferramentas de Linguagem Específica do Domínio. Cada conjunto e cada diagrama são representados por um modelo de Ferramentas de Linguagem Específica do Domínio, e um conjunto de regras e outros métodos mantêm a consistência entre eles.
Tipos dessa plataforma são visíveis em alguns dos assemblies aos quais você faz referência para escrever extensões UML. Embora seja possível fazer as extensões para ferramentas de UML acessando a API Ferramentas de Linguagem Específica do Domínio, você deve levar as seguintes considerações em mente:
Você pode achar que algumas alterações aparentemente simples apresentam inconsistências e efeitos inesperados.
A implementação pode ser alterada no futuro, de modo que as adaptações feitas usando a API Ferramentas de Linguagem Específica do Domínio podem não funcionar mais.
Os assemblies de API
Essa tabela resume os assemblies que fornecem extensibilidade para as ferramentas UML e os namespaces que são aconselháveis você usar.
Assembly |
Namespaces |
Fornece acesso a: |
---|---|---|
Microsoft.VisualStudio.Uml.Interfaces |
(Todos) |
Os tipos de UML. |
Microsoft.VisualStudio.ArchitectureTools.Extensibility |
||
Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation |
||
Microsoft.VisualStudio.Modeling.Sdk.12.0 |
||
(outros namespaces) |
Recomendado somente para uso avançado. |
|
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 |
Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement |
|
(outros namespaces) |
Recomendado somente para uso avançado. |
|
Microsoft.VisualStudio.TeamFoundation.WorkItemTracking |
||
Microsoft.TeamFoundation.WorkItemTracking.Client |
||
Microsoft.TeamFoundation.Client |
||
System.ComponentModel.Composition |
||
System.Linq |
Fácil manipulação de coleções, especialmente ao manipular as relações. |
Consulte também
Conceitos
Estendendo modelos e diagramas UML