Postupy: Vytváření elementů a vztahů
Program kód pro rozšíření Visual Studio Ultimate, můžete vytvářet a odstraňovat prvky a vztahy.
Vytvořit prvek modelu
Dovoz oboru názvů
Musí obsahovat následující using příkazy.
Vytvoření metod jsou definovány jako rozšíření metod v tomto oboru názvů:
using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml;
Získat vlastník prvek, který chcete vytvořit
Vzor formuláře jediného stromu tak, aby všechny položky jednoho vlastníka, s výjimkou kořenové modelu.Model root je typu IModel, což je druh IPackage.
Pokud vytvoříte element, který bude zobrazen v diagramu konkrétní, například uživatele v aktuálním diagramu, je by obvykle ji vytvořit v balíčku, který je spojen s diagramem.Příklad:
IPackage linkedPackage = Context.CurrentDiagram.Element as IPackage;
Tato tabulka shrnuje vlastnictví společné prvky modelu:
Prvek vytvořit |
Vlastník |
---|---|
IActor, IUseCase, IComponent, IClass, IInterface, IEnumeration IActivity, IInteraction |
IPackage, IModel |
IAttribute, IOperation |
IClass, IInterface |
IPart, IPort |
IComponent |
IAction, IObjectNode |
IActivity |
ILifeline, IMessage, ICombinedFragment |
IInteraction |
Vytvořit metodu na vlastníka
Název metody je formuláře: CreateOwnedType().Příklad:
IUseCase usecase1 = linkedPackage.CreateUseCase();
Některé typy mají složitější vytváření metod, zejména v sekvenční diagramy.Viz téma Postupy: Úpravy sekvenčních diagramů pomocí rozhraní API UML.
U některých typů prvku můžete změnit vlastníka prvku během její životnosti pomocí SetOwner(newOwner).
Nastavit název a další vlastnosti
usecase1.Name = "user logs in";
Příklad
using Microsoft.VisualStudio.Uml.Classes;
using Microsoft.VisualStudio.Uml.Extensions;
...
void InstantiateObserverPattern (IPackage package, string namePrefix)
{ IInterface observer = package.CreateInterface();
observer.Name = namePrefix + "Observer";
IOperation operation = observer.CreateOperation();
operation.Name = "Update";
IClass subject = package.CreateClass();
subject.Name = namePrefix + "Subject"; ...
Vytvoření přidružení
Vytvoření přidružení
Získejte vlastník přidružení, která je obvykle balíčku nebo model obsahující zdroj konec vztahu.
Požadovaná metoda Create vlastníkovi vyvoláte.
Nastavení vlastností relace, například jeho název.
Příklad:
IAssociation association = subject.Package.CreateAssociation(subject, observer); association .Name = "Observes";
Nastavte vlastnosti pro každý konec vztahu.K dispozici jsou vždy dvě MemberEnds.Příklad:
association .MemberEnds[0].Name = "subject"; // role name association .MemberEnds[1].Name = "observers"; // role name association .MemberEnds[1].SetBounds("0..*"); // multiplicity defaults to "1" association.MemberEnds[0].Aggregation = AggregationKind.Composite;
Vytvořit generalizace
IGeneralization generalization =
subclass.CreateGeneralization(superClass);
Odstranění prvku, vztah nebo generalizace z modelu
anElement.Delete();
Při odstranění prvku z modelu:
Každý vztah, který propojí ji také odstranit.
Každý tvar, který představuje v diagramu také odstraněny.