Öğe ve İlişkiler Nasıl Oluşturulur
Visual Studio Ultimate'a uzantı için olan program kodunda, öğe ve ilişkileri oluşturabilir ve silebilirsiniz.
Model Öğesi Oluşturma
İsim Uzayı İçeri Aktarma
Aşağıdaki using ifadeleri eklemeniz gerekir.
Oluşturma yöntemleri bu isim uzayında uzantı yöntemleri olarak tanımlanır:
using Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml;
Oluşturmak istediğiniz öğe sahibini edinin
Model tek bir ağaç oluşturur, böylece model kökü hariç her öğenin bir sahibi vardır.Model kökü, IPackage'ın türü IModel türündedir.
Eğer belirli bir diyagramda gösterilecek olan bir öğeyi oluşturuyorsanız, örneğin, kullanıcının geçerli diyagramı, onu, o diyagrama bağlı paket içinde oluşturmalısınız.Örne?in:
IPackage linkedPackage = Context.CurrentDiagram.Element as IPackage;
Bu tablo, ortak model öğelerinin sahipliğini özetler:
Oluşturulacak Öğe |
Sahip |
---|---|
IActor, IUseCase, IComponent, IClass, IInterface, IEnumeration IActivity, IInteraction |
IPackage, IModel |
IAttribute, IOperation |
IClass, IInterface |
IPart, IPort |
IComponent |
IAction, IObjectNode |
IActivity |
ILifeline, IMessage, ICombinedFragment |
IInteraction |
Sahip üzerinde Oluştur yöntemini çağırma
Yöntem adı şu biçimdendir: CreateOwnedType().Örne?in:
IUseCase usecase1 = linkedPackage.CreateUseCase();
Bazı türlerin özellikle Sıralı Diyagramların, daha karmaşık oluşturma yöntemleri vardır. Bkz. UML API Kullanarak Sıralama Diyagramları Nasıl Düzenlenir
Bazı öğe türleri için, SetOwner(newOwner) kullanarak öğenin sahibini ömrü sırasınca değiştirebilirsiniz.
Adı ve diğer özellikleri ayarlayın
usecase1.Name = "user logs in";
Örnek
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"; ...
İlişkilendirme Oluşturma
İlişkilendirme oluşturmak için
Genellikle ilişkinin kaynak sonunu içeren paket veya model olan ilişkilendirmenin sahibini edinin.
Sahip üzerinde gerekli Oluştur yöntemini çağırın.
İlişkinin özelliklerini, örneğin adı, gibi ayarlayın.
Örne?in:
IAssociation association = subject.Package.CreateAssociation(subject, observer); association .Name = "Observes";
İlişkinin her sonunun özelliklerini ayarlayın.Her zaman iki MemberEnds vardır.Örne?in:
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;
Genelleştirme Oluşturma
IGeneralization generalization =
subclass.CreateGeneralization(superClass);
Bir Öğe, İlişki veya Genelleştirme'yi Modelden Silme
anElement.Delete();
Bir öğeyi modelden sildiğiniz zaman:
Ona bağlı her ilişki de silinir.
Diyagramda gösterilen her şekil de silinir.