ECore kuruluşları arasında referanslar oluştururken, bir referansı "içerme" olarak işaretleme olasılığı vardır. Birisi bana kolay kelimelerle açık bir referans ve bir muhafaza arasındaki farkın ne olduğunu açıklayabilir mi? Şimdiye kadar bulduğum tanım ve açıklamalar benim için hile yapmadı.ECore'daki muhafaza ve referans arasındaki fark nedir?
cevap
Referans: Referans bir "A knows B" ilişkisidir. Ayrı referanslar birbirini etkilemez. Bir B ve B'nin B'yi bildiğini biliyoruz. Bu nedenle, eğer A'nız varsa, C'nin üzerinde B'ye gidebilirsiniz. Eğer referansı kaldırırsanız, A, B ve C hala var olacaklar, artık birbirlerini tanımıyorlar .
Containment: bir muhafaza ilişkisi tür "A B sahiptir" dir. Genellikle listeler için kullanılır, ör. "A'nın birden fazla B'si var". ECore/EMF, daha sonra, tüm nesneleri bir muhafazadan diğerine taşımak gibi atomik komutlar gerçekleştirebilir. Ayrıca, minimum miktarda bulunan nesneler veya azami miktarda içerilen nesneler gibi kısıtlamaları da uygulayabilir veya içerilen nesnenin başka bir muhafazada bulunmadığından emin olabilir.
Örnek:
Eğer Customer
adı verilen bir referans ve OrderedProducts
adı verilen bir muhafazası olan ShoppingCart
adı verilen bir nesne olduğunu varsayalım. OrderedProducts
, Product
referansına sahiptir.
Bu model size ne anlatıyor?
- Alışveriş Merkezine bir Müşteri atayabilirsiniz. Müşteri'yi ShoppingCart'tan kaldırırsanız, Müşteri nesnesinin kendisi (örneğin, veritabanında) var olacaktır.
- Sipariş EdilenÜrün nesneleri, var olmak için bir ShoppingCart'a ihtiyaç duyar. ShoppingCart'tan bir tane çıkarırsanız, varolmaya son verilir.
- Her Sipariş Edilen Ürün'ün, veritabanındaki mevcut bir Ürüne bir referansı vardır. Eğer shoppingcart gelen OrderedProducts birini kaldırırsanız, veritabanında Ürün hala orada olacak - gittiğine göre belirli bir müşteri için bu ürünün sadece sipariş
Referans: UML
yılında dernek gibi olabilirEngelleme: Eğer muhafaza/bileşim gösteren containment
doğru, daha sonra hat doldurulmuş bir kenarlarının olacağı ayarlanır Ayrıca bu EMF diyagramda görüldüğü
UML
bileşimden bir ilişkidir. Gözlemlediğim bu.- 1. Referans ile & * arasındaki fark nedir?
- 2. Perl'de karma ve karma referans arasındaki fark nedir?
- 3. Mongoose'da id ve _id arasındaki fark nedir?
- 4. Python'da {} ve [] arasındaki fark nedir?
- 5. UNIX'teki $ @ ve $ * arasındaki fark nedir?
- 6. $ arasındaki fark nedir? ve PowerShell
- 7. Fark() arasındaki fark nedir mustache.js
- 8. arasındaki fark nedir?
- 9. Java arasındaki fark nedir
- 10. arasındaki fark nedir?
- 11. arasındaki fark nedir?
- 12. app.doScript ve $ .evalFile arasındaki fark nedir?
- 13. gVim ve gVim arasındaki fark nedir?
- 14. isAlpha ve isLetter arasındaki fark nedir?
- 15. Control.Enter ve Control.GotFocus olayları arasındaki fark nedir?
- 16. .got ve .got.plt bölümü arasındaki fark nedir?
- 17. AutomationProperties.AutomationID ve AutomationProperties.Name arasındaki fark nedir?
- 18. Android'de getDir ve getFilesDir arasındaki fark nedir?
- 19. R içinde `=` ve `<-` arasındaki fark nedir?
- 20. uint ve System.UInt32 arasındaki fark nedir?
- 21. PropertyChangeListener ve VetoableChangeListener arasındaki fark nedir?
- 22. XSS'de IDREF ve IDREFS arasındaki fark nedir?
- 23. Cacerts ve keystore arasındaki fark nedir?
- 24. GPLv2 ve GPLv3 arasındaki fark nedir?
- 25. VarIsEmpty ve VarIsEmptyParam işlevleri arasındaki fark nedir
- 26. ActiveSupport'ta mattr_accessor ve cattr_accessor arasındaki fark nedir?
- 27. Hashtable ve Dictionary arasındaki fark nedir?
- 28. RoutedCommand ve RoutedUICommand arasındaki fark nedir?
- 29. MySQL'deki boolean ve bool arasındaki fark nedir?
- 30. Task.Factory.FromAsync ve BeginX/EndX arasındaki fark nedir?
Çok teşekkürler. Ben ShoppingCart gibi gerçek bir örnek beynimde anahtarı çevirmek için gereken tüm olduğunu düşünüyorum. – Kosi2801
UML sınıf diyagramlarında 'ilişki' ve 'kompozisyon' ile benzer. – mike