Compartilhar via


Programação com a API de UML

A API de UML do Visual Studio Ultimate permite que você escreva código para criar, ler e atualização 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

Como: Navegue nas relações com a API de UML

Elementos UML e suas propriedades e associações.Por exemplo, IElement e seus descendentes, incluindo: IPackage de IInteraction, IModel, IClass, IActivity, IUseCase, IComponent,

Na Visual Studio Ultimate, modelos UML estão de acordo com a UML specification versão 2.1.2, que pode ser obtida na Página de recursos do UML.Cada tipo é uma interface que tem o mesmo nome como o tipo UML, prefixado com "I".

Como: criar elementos e relações

IPackage.CreateClass()

IClass.CreateOperation()

Cada tipo de elemento tem métodos para a criação de seus filhos.

Como: exibir um modelo em diagramas

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, cor e recolher ou expandir essas formas.

Como: navegar o modelo UML

IModelStore

IDiagramContext

O modelo de armazenamento armazena o modelo.

O contexto do diagrama fornece acesso para o diagrama atual e o armazenamento.

Como: atualizações do modelo de Link usando transações

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 de um diagrama definindo comandos invocados clicando e arrastando para o diagrama.

Como: definir restrições de validação dos modelos UML

ValidationContext

Você pode definir a validação regras que ajudam a certificar-se de que um modelo compatível com restrições especificadas.

Como: obter elementos de modelo UML do IDataObject

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.

Como: Editar diagramas de seqüência usando a API de UML

IInteraction, ILifeline, IMessage

Criação e atualização de um diagrama de interação são ligeiramente diferente do que trabalhar com os outros tipos de diagramas.

Estendendo os diagramas de camada

ILayer, ILayerDiagram

Você pode escrever código para criar e edição diagramas de camada e também validarcódigo deprograma em relação a elas.

Sobre a implementação

As ferramentas de modelagem UML baseiam-se no 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 funcione.

Os assemblies de API

Esta tabela resume os assemblies que oferecem extensibilidade para ferramentas UML e os espaços para nome que você recomenda-se usar.

Assembly

Namespaces

Fornece acesso a:

Microsoft.VisualStudio.UML.interfaces

(Tudo)

Os tipos UML.

Microsoft.VisualStudio.ArchitectureTools.Extensibility

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml

Métodos de criação

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation

Diagramas e formas

Microsoft.VisualStudio.ArchitectureTools.Extensibility

O projeto de modelagem

Microsoft.VisualStudio.Modeling.SDK.11.0

Microsoft.VisualStudio.Modeling.ExtensionEnablement

extensãodo comando de menu.

Vinculado a transações de desfazer.

Microsoft.VisualStudio.Modeling.Validation

Validação

(outros espaços para nome)

Recomendado somente para uso avançado.

Microsoft.VisualStudio.Modeling.SDK.Diagrams.11.0

Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement

Gesto de manipuladores de.

(outros espaços para nome)

Recomendado somente para uso avançado.

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Links para itens de trabalho.

Microsoft.TeamFoundation.WorkItemTracking.Client

Microsoft.TeamFoundation.WorkItemTracking.Client

Seus campos e itens de trabalho.

Microsoft.TeamFoundation.Client

Microsoft.TeamFoundation.Client

Seus campos e itens de trabalho.

System.ComponentModel.Composition

System.ComponentModel.Composition

Exportar e importar para componentes MEF

System. LINQ

System.Linq

Fácil manipulação das coleções, especialmente quando lidando com relacionamentos.

Consulte também

Conceitos

Diagramas e modelos UML estendendo

Outros recursos

Referência da API de extensibilidade de modelagem UML