Partilhar via


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

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,

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".

Como: Criar elementos e relações

IPackage.CreateClass()

IClass.CreateOperation()

Cada tipo de elemento tem métodos para 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 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.

Como: Navegue de 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 do 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 de regras que ajudam a certificar-se de que um modelo compatível com restrições especificadas.

Como: Obter os elementos de modelo UML 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 os 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 um pouco diferente de trabalhar com outros tipos de diagrama.

Criando extensões para diagramas de camada

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.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.10.0

Microsoft.VisualStudio.Modeling.ExtensionEnablement

Extensão do 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.10.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 do 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 de API de extensibilidade de modelagem UML