Anahtarları MyClientType nesneleri olan ve değerleri MyClient nesneleri olan bir Harita içeren bir MyServer sınıfım var. Bu ilişkiyi bir sınıf diyagramında tasvir etmek isterim ama bunu yapmak için temiz bir yol bulamıyorum.UML sınıf diyagramında bulunan bir harita nasıl tanımlanır?
cevap
MyServer
|
|
|
Map
|
| |
| |
MyClientTypeKey MyClientType
Yukarıdaki gibi basit değil mi?
- MyServer Harita
- ile bir assoication bir birine sahiptir Harita anahtarlar hem de değerler ile 1 için birçok dernek var.
MyClient ucundan çok sayıda 0 .. * MyServer'dan MyClient'e kadar bir ilişki gösteririm. Diğer her şey uygulama detayıdır ve programcıya bırakılabilir.
Bu iki doğru cevap biridir. Diğeri ise @Kru. –
MyServer
|
|*
T1toT2
/ \
1/ \1
Key Value
Mark'ın çözümüyle arasındaki fark, sunucunun kapsayıcılarla çok ilişkisi olduğunu gösterir. Aynı zamanda Eclipse Modeling Framework (EMF) proposes to implement maps.
Ayrıca, tuşların benzersiz olması gerektiğini (klişeler aracılığıyla) yapmak gibi bazı UML'ye özgü şeyler de atabilirsiniz.
Her şeyden önce, ben ve diğerleri düşünürken, UML, bazı önceki sürümlerinde olduğu gibi bazı temel toplama türlerini içermelidir. Onlar ancak gerçekten önemsiz IMHO için tipi, çok fazla öneme imho verir
"EMF yol"
doğru görünüyor ... OCL örneğin alınabilir, bu yüzden sadece bunu modellik yapar mısın bir ilişkilendirme sınıfı olarak. Bu, normal sınıf kullanılarak yakalanabilecek tüm haritaya özgü kısıtlamaları (örneğin çokluk) yakalamanızı sağlar, ancak bu sınıfı diğerlerininki kadar önemli yapmaz.Sen nitelikli ilişki kullanabilirsiniz:
┌──────────┐ 1 ┌───────┐
│ MyServer │Key│───────────│ Value │
└──────────┘ └───────┘
Bkz: http://etutorials.org/Programming/UML/Chapter+6.+Class+Diagrams+Advanced+Concepts/Qualified+Associations/nitelikli dernek çokluğu değiştiğine dikkat ayrıca
Not (ASCII kullanarak çizmek zordur çünkü):
Üst kısım, bir sunucudan 0 n değerlerine kadar ilişkilendirmeyi gösterir. Buna karşılık, kalifiye ilişkilendirme, verilen herhangi bir anahtarın yalnızca bir değerle ilişkilendirileceğini ve bir anahtarın eksik bir değere sahip olamayacağını söyler.
Bu, iki doğru cevaptan biridir. Diğeri ise Chimp. Sunucum işlemleri ve özelliklerini göstermek için "genişletilmiş" oldu –
, harita ilişkiyi modellemek için MyServer öznitelik bölmesinin içinde ne gider? –
Kru'nun cevabı en iyisidir, ancak yine de sadece bir Haritaya işaret eder.
Bu diyagramın çizdiği soyutlama seviyesine bağlı olduğunu iddia ediyorum. Nispeten yüksekse şempanzenin cevabı ile giderdim. nispeten düşük olduğunu ve gerçekten kasıtlı uygulama ile ilgili ayrıntılı gösteren bir harita göstermek gerekirse, şu gelirdim:
haritası daha sonra kodda uygulanma biçimi MyServer
|
|
Map
|
|*
T1toT2
/ \
1/ \1
Key Value
tamamen alakasız (T1toT2
çalıştırıcı zaman nesneleri aslında gelmeyebilir).Eğer gerçekten gerçekten göstermek veya bir harita belirtmek gerekirse
, bu da tabii bir dernek sınıfı
MyServer
|
|
Map
|
|*
T1toT2
|
|
1--------1
Key Value
kullanılarak modellenebilir olabilir tek önemli olan. yanı aklıma gelen ilk şeyi, ama harita sınıf olmayı hak etmiyor hissediyor
- 1. Bu UML sınıf diyagramında nasıl geliştirilir/düzenlenir?
- 2. UML
- 3. UML Sınıf diyagramı, bir sınıf nasıl gösterilecek?
- 4. Ekli özellikler sınıf diyagramında nerede bulunur?
- 5. Swagger'da harita nasıl tanımlanır?
- 6. OOMD - UML Sınıf diyagramında veritabanı bağlantısı göstermeye ihtiyaç var mı? (Basit bir giriş şeması)
- 7. Sınıf Diyagramında "Türetilmiş öznitelikler" nedir?
- 8. UML Sınıf Diyagramları içindeki etkinlikleri nasıl gösterirsiniz?
- 9. IntelliJ uml diyagramını kullanırken uml sınıf çerçevesinin boyutunu değiştirme
- 10. Sınıf diyagramında getters & setters içermeli miyim?
- 11. C++ 'da özel bir sınıf içinde sınıf nasıl tanımlanır?
- 12. Bir UML sınıf şemasında özel devralma ilişkisinin nasıl gösterileceği
- 13. Visual Studio UML Sınıf Şeması Jeneratör
- 14. UML Sınıf diyagramlarında Java Enumlarıyla ilişkilendirme modelleri
- 15. Ruby - Sınıf yöntemleri nasıl yeniden tanımlanır?
- 16. Smalltalk kodundan UML Sınıf Şeması oluşturma
- 17. Sınıf dışı bir yöntem nerede tanımlanır?
- 18. Javascript: İçinde 60 eleman bulunan boole dizisi nasıl tanımlanır
- 19. Bir sınıf için 'final' üye işlevleri nasıl tanımlanır
- 20. T özelliği ile bir sınıf özelliği nasıl tanımlanır T
- 21. Hazırda bekletme: Harita değerleri sütun adı nasıl tanımlanır?
- 22. Nesne Yönelimli Javascript - Bir Sınıf İçinde Bir Sınıf Nasıl Tanımlanır? Bir C# örneğinden
- 23. UML ile nasıl bir mixin/role/trait'i doğru şekilde temsil edebilirim?
- 24. Sınıf Harita Jeneratör Fluent NHibernate
- 25. Java kaynağından UML üret
- 26. UML sınıf diyagramı - başlangıç değeri ile özniteliği temsil eder
- 27. Visual Studio UML Sınıf Şeması ve Genel Türlerin Modellenmesi
- 28. SBT'de başka bir derleme kapsamı nasıl tanımlanır?
- 29. Bir cevap adresi nasıl tanımlanır?
- 30. NSAttributedString'de bir paragraf nasıl tanımlanır?
. Bu sadece bir korunma yöntemi. Bilmiyorum, doğru hissetmiyorum. – gooli
Ama sonra sadece, diyelim ki, doğrudan sunucum ile ilişkili anahtar ve tipi sınıflı nasıl ilişkili göstermez. Harita bir kapsayıcıdır, ancak anahtar ve tip arasındaki ilişkiyi de gösterir. – Mark