Programação com a API de UML
A API de UML do Visual Studio Ultimate permite que você escrever código para criar, ler e atualizar modelos UML e diagramas.
Além das páginas de referência de API, os tópicos a seguir descrevem a API.
Tópico |
Tipos de exemplo e os métodos descritos |
Recursos descritos |
---|---|---|
Elementos UML e suas propriedades e associações. Por exemplo, IElement e seus descendentes, incluindo: IPackage de IInteraction, IModel, IClass, IActivity, IUseCase, IComponent, |
Em Visual Studio Ultimate, modelos UML estão de acordo com versão de especificação 2.1.2, que pode ser obtido no UML a Página de recursos do UML. Cada tipo é uma interface que tem o mesmo nome como o tipo UML, prefixado com "I". |
|
IPackage.CreateClass() IClass.CreateOperation() |
Cada tipo de elemento tem métodos para criação de seus filhos. |
|
IShape, IDiagram IShape.Move() |
Cada elemento em um modelo pode ser representado como uma forma de um diagrama. Em alguns casos, você pode criar novas formas para cada objeto. Você pode mover, redimensionar, cor e recolher ou expandir essas formas. |
|
IModelStore IDiagramContext |
O modelo de armazenamento armazena o modelo. O contexto do diagrama fornece acesso para o diagrama atual e o armazenamento. |
|
ILinkedUndoContext |
Você pode vincular a uma série de alterações em uma transação. |
|
Como: Definir um comando de Menu em um diagrama de modelagem |
IMenuCommand IGestureExtension ICommandExtension |
Você pode estender a funcionalidade do diagrama definindo comandos invocados clicando e arrastando para o diagrama. |
ValidationContext |
Você pode definir a validação de regras que ajudam a certificar-se de que um modelo compatível com restrições especificadas. |
|
IElement, IShape |
Quando um elemento é arrastado do Gerenciador de modelos UML ou em um diagrama UML para outro diagrama ou aplicativo, ele é serializado como um IDataObject. |
|
IInteraction, ILifeline, IMessage |
Criação e atualização de um diagrama de interação são um pouco diferente de trabalhar com outros tipos de diagrama. |
|
ILayer, ILayerDiagram |
Você pode escrever código para criar e editar os diagramas de camada e também Validar código de programa contra eles. |
Sobre a implementação
As ferramentas de modelagem UML são criadas em Ferramentas de linguagem específica do domínio. Cada pacote e cada diagrama é representado por um Ferramentas de linguagem específica do domínio modelo e uma coleção de regras e outros métodos mantém a consistência entre eles.
Tipos a partir dessa plataforma são visíveis em alguns dos assemblies que fazem referência a para escrever extensões UML. Embora você possa fazer extensões para as ferramentas UML, acessando o Ferramentas de linguagem específica do domínio API, você deve ter as seguintes considerações em mente:
Você pode achar que algumas alterações aparentemente simples introduzem inconsistências e efeitos inesperados.
A implementação pode mudar no futuro, para que as adaptações feitas usando o Ferramentas de linguagem específica do domínio API talvez não funciona.
Os assemblies de API
Esta tabela resume os assemblies que oferecem extensibilidade para ferramentas UML e os namespaces que você é recomendado usar.
Assembly |
Namespaces |
Fornece acesso a: |
---|---|---|
Microsoft.VisualStudio.UML.interfaces |
(Tudo) |
Os tipos UML. |
Microsoft.VisualStudio.ArchitectureTools.Extensibility |
||
Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation |
||
Microsoft.VisualStudio.Modeling.SDK.10.0 |
||
(outros espaços para nome) |
Recomendado somente para uso avançado. |
|
Microsoft.VisualStudio.Modeling.SDK.Diagrams.10.0 |
Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement |
|
(outros espaços para nome) |
Recomendado somente para uso avançado. |
|
Microsoft.VisualStudio.TeamFoundation.WorkItemTracking |
Microsoft.VisualStudio.TeamFoundation.WorkItemTracking |
|
Microsoft.TeamFoundation.WorkItemTracking.Client |
||
Microsoft.TeamFoundation.Client |
||
System.ComponentModel.Composition |
||
System. LINQ |
Fácil manipulação das coleções, especialmente quando lidando com relacionamentos. |
Consulte também
Conceitos
Diagramas e modelos UML estendendo