2012-01-21 13 views
9

VS'de UML modelleme ile oynamaya başladım. Birkaç sınıfla diyagram oluşturmayı, onları bağlamayı ve modelden bazı kodlar oluşturmayı denedim - Özellik Paketini yükledikten sonra, her şey iyi çalışıyor gibi görünüyor. Yine de eksik olduğum şey, .Net’de oldukça önemli bir rol oynayan (ve genellikle tasarımın anahtarı olan) olayları ilan edebilme yeteneğidir.Visual Studio Modelleme Projesi ile C# olayları oluşturma

Visual Studio'da UML Sınıf Diyagramındaki olayları nasıl bildiririm?

DÜZENLEME:

şeyleri temizlemek için. Bir süredir Visual Studio'daki C# projelerinde bulunan Sınıf Şeması özelliği ile ilgili hiçbir şeyle ilgilenmeyeceğim değilim.

Bu soru, Visual Studio 2010 Ultimate'deki yeni bir özellik olan Modeling Project ile ilgilidir.

+0

Aklımda, UML'deki olaylarla ilgilenmek mümkün değil. Denedim ve asla nasıl yapılacağını buldum, çok iyi bir soru ... –

cevap

2

UML, uygulama dili agnostiktir. UML'de dile özgü bir deyim tanımlamak için doğru yolu, bir stereotype kullanarak. Bir stereotip UML metaclass bir uzmanlık. Message'ı genişleten bir EventHandler ve Event klişe'a Class'ı genişleten bir profile tanımlayın. Ardından bu kalıplaşmış modelleri, modellerinizdeki sınıflara uygun şekilde uygulayın. Daha sonra, dile özgü deyim uygulama ayrıntılarını klişeye yerleştirebilirsiniz.

+0

Bu cevap için teşekkürler. Dokümantasyon üzerinde 20 dakika çalıştıktan sonra, Özellik Paketi ile sağlanan "olay" stereotipine sahip C# profili olduğunu öğrendim. Bununla birlikte, kod oluşturma şablonları bu stereotiple öznitelikleri tamamen yok sayıyor gibi görünüyor. Buna bakmaya devam edeceğim, bu yüzden henüz cevap olarak işaretlemeyeceğim. Ancak ben size ödül vereceğim (aksi takdirde sona erecek). –

+1

@ Matěj Zábský: Seninle aynı davranışı farkettim. Bir hata yaptım [burada] (https://connect.microsoft.com/VisualStudio/feedback/details/725112/generate-code-in-vs2010-modeling-project-events-ignored). Bu siteye erişiminiz varsa, lütfen hızlandırılmış dikkat için oy verin. – kmote

+0

@kmote Güzel, upvoted. –

1

Aşağıdaki bağlantı size yardımcı olacaktır umarım.

http://developingfor.net/2007/11/29/visual-studio-2008-class-diagram/

+1

Ne yazık ki, bu yardımcı olmaz. Sınıf Diyagramı, Modelleme Projesinden başka bir şeydir. Sınıf şeması tüm C# projelerinde bulunan basitleştirilmiş sınıf tasarım aracıdır.Modelleme Projesi, Visual Studio 2010 Ultimate'daki yeni bir özelliktir (dolayısıyla çevrimiçi materyallerin eksikliği) ve Sınıf, Süreç, Sıra, Katman ve diğer diyagramlarla dolu bir UML mimarisi tasarımcısıdır. –

-1

Sen Gözlemci \ Olay Desen dahil denemelisiniz. Burada çok iyi tartışıldı. http://www.cumps.be/nl/blog/read/design-patterns-observer-event-pattern

+0

Bu bana nasıl yardımcı oluyor? Olay orada gereklidir (olay * Gözlemci modelinin uygulanması *). Olayları kullanmaktan kaçınmamak için UML'deki etkinliği temsil etmenin bir yolunu bulmalıyım. –

+0

Bir UML Diyagramındaki olayları temsil etmenin doğrudan bir yolunun olduğunu düşünmüyorum. – Dinesh

0

Yukarıdakilerin hiçbiri benim için yararlı değildi. ->, Windows -> UML modeli kaşif

  • seçin sizin modelleme projesi ve açık olun

    • emin Zaten bir modelleme projesi varsa veya Görsel stüdyo seçme Mimarlık olarak bir
    • oluşturun: Burada C# dili kavramları etkinleştirmeyi buradan öğrenebilirsiniz Özellikler paneli
    • "Profiller" altında "C# profili" onay kutusunu işaretleyin.

  • bir sınıf diyagramı bir etkinlik eklemek için:

    • bir sınıf üzerinde yeni bir özelliği oluşturma. özellikleri panelinde
    • Ne yazık ki bir etkinlik olarak işaretlemek için özellik hakkında görsel bir belirti yoktur

    basmakalıp içinde "C# olayı" kontrol edin.