Aracılığıyla paylaş


Gezinme ve Program kodu katman modeller güncelleştiriliyor

Bu konu öğeleri ve ilişkileri gidin ve güncelleştirmek, katman modellerdeki açıklar Visual Studio Ultimate program kodunu kullanarak.

Kullanıcının bakış açınızdan katman diyagramları hakkında daha fazla bilgi için bkz: Katman Diyagramları: Başvuru ve Katman Diyagramları: Yönergeler.

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Layer Bu konuda açıklanan modeli üzerinde daha genel bir cephe, Microsoft.VisualStudio.GraphModel modeli.Yazıyorsanız bir menü, komut veya hareket uzantısı, kullanın Layer modeli.Yazıyorsanız bir Katman doğrulama uzantısı, kullanımı daha kolay GraphModel.

İşlemler

Bir modeli güncelleştirdiğinizde değişiklikleri kapsayan göz önünde bir ILinkedUndoTransaction.Bu değişiklikleri tek bir hareket halinde gruplandırır.Değişiklikleri başarısız olursa, tüm işlem geri alınacaktır.Kullanıcı bir değişikliği geri alır, tüm değişiklikleri birlikte geri alınacak.

Daha fazla bilgi için bkz. Nasıl yapılır: İşlemleri kullanarak Model Güncelleştirmelerini Bağlama.

using (ILinkedUndoTransaction t =
        LinkedUndoContext.BeginTransaction("a name"))
{ 
    // Make changes here ....
    t.Commit(); // Don't forget this!
}

Kapsama

ILayer ve ILayerModel hem de ILayers içerebilir.

Katmanlar (ILayer) ve katman modeli (ILayerModel) açıklamaları ve katmanları içerebilir.

Bir katman (ILayer) katman modelinde bulunan (ILayerModel) ya da başka içinde yuvalanabilir ILayer.

Bir yorum veya bir katman oluşturmak için uygun kabında oluşturma yöntemleri kullanın.

Bağımlılık bağlantıları

Bir bağımlılık bağlantısı bir nesnesi tarafından temsil edilir.Her iki yönde gidilebilecek:

Bir ILayerDependencyLink iki ILayers bağlanır.

Bağımlılık bağlantı oluşturmak için arama source.CreateDependencyLink(target).

Comments

Açıklamalar katman veya katman modeli içinde bulunan ve herhangi bir katman öğesine bağlanabilir:

Yorumlar herhangi bir katman öğe eklenebilir.

Öğelerin hiçbiri de dahil olmak üzere herhangi bir sayı için bir yorum bağlanabilir.

Bir katman öğesine iliştirilmiş açıklamaları almak için kullanın:

ILayerModel model = diagram.GetLayerModel(); 
IEnumerable<ILayerComment> comments = 
   model.Comments.Where(comment => 
      comment.Links.Any(link => link.Target == layerElement));
Uyarı notuUyarı

Comments Özelliği, bir ILayer içinde yer alan açıklamalar alır ILayer.Ona bağlı yorumlar almaz.

Çağırarak bir yorum oluşturma CreateComment() uygun kabında.

Kullanarak bir bağlantı oluşturmak CreateLink() üzerinde yorum.

Katman öğeleri

Katman öğelerini öğe model içinde yer alan tüm türleri şunlardır:

Katman diyagramı içeriği ILayerElements olan.

Özellikler

Her ILayerElement adlı bir dize sözlük olan Properties.Bu sözlük, rasgele bilgi herhangi bir katman öğe eklemek için kullanabilirsiniz.

Yapı başvuruları

Yapı başvurusu (ILayerArtifactReference) katman ve sınıf bir dosya veya klasör gibi bir proje öğesi arasındaki bağlantıyı temsil eder.Kullanıcı oluşturur veya Çözüm Gezgini ya da Mimari katman diyagramının üzerine öğeleri sürükleyerek bir katmana ekler, bunların yapıları oluşturuyorsunuz.Herhangi bir sayıda artifact başvuru katmana bağlı.

Yapı başvurusu Katman Gezgini içindeki her satırı görüntüler.Daha fazla bilgi için bkz. Koddan Katman Diyagramları Oluşturma.

Asıl türler ve yöntemler yapı başvuruları ile ilgili aşağıdaki gibidir:

ILayerArtifactReference.Kategoriler özelliği ne tür bir yapı, bir sınıf, yürütülebilir dosya veya derleme gibi başvurulan gösterir.Kategoriler belirler nasıl tanımlayıcısı hedef yapı tanımlar.

CreateArtifactReferenceAsyncbir yapı olan başvuru oluşturur bir Project veya ProjectItem.Bu zaman uyumsuz bir işlemdir.Bu nedenle, genellikle oluşturma işlemi tamamlandığında, olarak adlandırılan bir geri arama sağlar.

Kullanım örneği diyagramlarında Artifact başvuru katmanı yapılar ile karıştırılmamalıdır.

Şekiller ve Diyagramlar

İki nesne katmanı modeldeki her öğe göstermek için kullanılır: bir ILayerElementve IShape.IShape Konum ve diyagram üzerinde şeklin boyutunu temsil eder.Katman modellerinde, her ILayerElement bir IShapeve her IShape diyagram bir katmana sahip ILayerElement.IShapeuml modelleri için de kullanılır.Bu nedenle, her IShape bir katman öğesi vardır.

Aynı şekilde, ILayerModel birinde görüntülenir IDiagram.

Özel bir komut veya hareket işleyicisi kodunda, geçerli diyagrama ve Seçilen şekillerden birini alabilirsiniz DiagramContext Al:

public class ... {
[Import]
    public IDiagramContext DiagramContext { get; set; }
...
public void ... (...) 
{ IDiagram diagram = this.DiagramContext.CurrentDiagram;
  ILayerModel model = diagram.GetLayerModel();
  if (model != null)
  { foreach (ILayer layer in model.Layers) { ... }}
  foreach (IShape selected in diagram.SelectedShapes)
  { ILayerElement element = selected.GetLayerElement();
    if (element != null) ... }}

Her ILayerElement IShape tarafından sunulur.

IShapeve IDiagram uml modelleri görüntülemek için de kullanılır.Daha fazla bilgi için bkz. Bir Model, Diyagramlar Üzerinde Nasıl Görüntülenir.

Ayrıca bkz.

Kavramlar

Komutlar ve hareket katmanı Diyagram ekleme

Özel mimari doğrulama katmanı Diyagram ekleme

Özel Özellikler bir katman Diyagram ekleme

Katman Diyagramları: Başvuru

Katman Diyagramları: Yönergeler

UML Modellerini ve Diyagramları Genişletme