Programmazione con l'API UML
L'API UML di Visual Studio Ultimate consente di scrivere codice per creare, leggere e aggiornare i modelli e i diagrammi UML.
Oltre alle pagine di riferimento dell'API, è possibile trovare una descrizione dell'API negli argomenti seguenti.
Argomento |
Tipi e metodi di esempio descritti |
Funzionalità descritte |
---|---|---|
Elementi UML e relative proprietà e associazioni.Ad esempio, IElement e relativi discendenti, tra cui: IClass, IActivity, IUseCase, IComponent, IInteraction, IModel, IPackage |
In Visual Studio Ultimate i modelli UML sono conformi alla specifica UML versione 2.1.2 che è possibile ottenere dal sito Pagina delle risorse UML (la pagina potrebbe essere in inglese).Ogni tipo è un'interfaccia con lo stesso nome del tipo UML, preceduto da "I". |
|
IPackage.CreateClass() IClass.CreateOperation() |
Ogni tipo di elemento dispone dei metodi per la creazione dei relativi elementi figlio. |
|
IShape, IDiagram IShape.Move() |
Ogni elemento in un modello può essere rappresentato come forma in un diagramma.In alcuni casi, è possibile creare nuove forme per ogni oggetto.Queste forme possono essere spostate, ridimensionate, colorate e compresse o espanse. |
|
IModelStore IDiagramContext |
L'archivio modelli in cui viene archiviato il modello. Il contesto del diagramma consente di accedere al diagramma e all'archivio correnti. |
|
Procedura: collegare aggiornamenti di modelli tramite transazioni |
ILinkedUndoContext |
È possibile collegare una serie di modifiche in un'unica transazione. |
Procedura: definire un comando di menu in un diagramma di modellazione |
IMenuCommand IGestureExtension ICommandExtension |
È possibile estendere la funzionalità di un diagramma definendo i comandi richiamati facendo doppio clic e trascinando un elemento nel diagramma. |
ValidationContext |
È possibile definire le regole di convalida per assicurarsi che un modello sia conforme ai vincoli specificati. |
|
IElement, IShape |
Quando un elemento viene trascinato da Esplora modelli UML o da un diagramma UML in un altro diagramma o applicazione, viene serializzato come IDataObject. |
|
Procedura: modificare i diagrammi di sequenza tramite l'API UML |
IInteraction, ILifeline, IMessage |
La creazione e l'aggiornamento di un diagramma di interazione sono leggermente diversi dall'utilizzo degli altri tipi di diagramma. |
ILayer, ILayerDiagram |
È possibile scrivere codice per creare e modificare diagrammi livello, nonché per convalidare il codice programma in base a essi. |
Informazioni sull'implementazione
Gli strumenti di modellazione UML vengono compilati in Domain-Specific Language Tools.Ogni pacchetto e ogni diagramma è rappresentato da un modello Domain-Specific Language Tools e una raccolta di regole e altri metodi gestisce la coerenza tra di essi.
I tipi da quella piattaforma sono visibili in alcuni degli assembly a cui si fa riferimento per scrivere estensioni UML.Sebbene sia possibile creare estensioni agli strumenti UML accedendo all'API di Domain-Specific Language Tools, si tengano presenti le considerazioni seguenti:
È possibile che alcune modifiche in apparenza semplici introducano incoerenze ed effetti imprevisti.
È possibile che l'implementazione cambi in futuro, pertanto gli adattamenti effettuati utilizzando l'API di Domain-Specific Language Tools potrebbero non più funzionare.
Assembly dell'API.
In questa tabella vengono riepilogati gli assembly che forniscono estensibilità agli strumenti UML e agli spazi dei nomi che è consigliabile utilizzare.
Assembly |
Spazi dei nomi |
Fornisce l'accesso a: |
---|---|---|
Microsoft.VisualStudio.Uml.Interfaces |
(Tutti) |
Tipi UML. |
Microsoft.VisualStudio.ArchitectureTools.Extensibility |
||
Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation |
||
Microsoft.VisualStudio.Modeling.Sdk.11.0 |
||
(altri spazi dei nomi) |
Consigliato solo per un utilizzo avanzato. |
|
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 |
Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement |
|
(altri spazi dei nomi) |
Consigliato solo per un utilizzo avanzato. |
|
Microsoft.VisualStudio.TeamFoundation.WorkItemTracking |
||
Microsoft.TeamFoundation.WorkItemTracking.Client |
||
Microsoft.TeamFoundation.Client |
||
System.ComponentModel.Composition |
||
System.Linq |
Semplice modifica di raccolte, soprattutto quando si tratta di relazioni. |
Vedere anche
Concetti
Estensione di modelli e diagrammi UML