UML Sınıfı şemalarında Java Enums ile ilişkilerin kullanımı konusunda kafam karıştı. Şu anda bazı özelliklere sahip Car sınıfını içeren bir sistemi modelleme yapıyorum. Bazı veya CarBrand FuelKind gibi, aynı zamanda Numaralamalar şunlardır:UML Sınıf diyagramlarında Java Enumlarıyla ilişkilendirme modelleri
Orada veritabanı (Car JPA varlıktır) araçların bir sürü olacak ve ben soruyorum kendim en iyi ilişki ve FuelKind ve CarBrand için asalettir. Şu ana kadar
Düşüncelerim:
- Enum örnekleri kendi örneklerinin oluşturulduğunu, bu yüzden teknik onlar Car bağlı olmayan. Ayrıca teknik olmayan bu enumlar tüm mevcut 'seçimleri' içerir, dolayısıyla katı bir bağımlılık yoktur. Yani aralarında bir Kompozisyon Birleştirme olamaz.
- Bir Araba bir CarBrand ve FuelKind birine sahiptir. Ancak diğer taraftan: Bir marka veya yakıt türünde bir araba veya birden fazla araba var mı? Mantıksal olarak birden fazla araba Mercedes'den veya benzinle sürüş olabilir. Ancak teknik olarak bir enum örneğinin bir veya birden fazla arabaya bağlantısı yoktur.
Bu sorunun nasıl çözüleceğine dair bazı önerileriniz ve düşünceleriniz var mı?
sayesinde, cevabın oldukça iyi olduğunu duruma açıklık. Ayrıca iki özellik için iki ayrı dernek olacağı da ilginçti, daha önce hiç görmedim. Açıklama amacıyla, isimlendirme isminin benim için yeterli olduğunu düşünüyorum. – jverhoelen
"Eğer herşeyi açıklığa kavuşturmak için her ikisini de yapabilirsen" demek, "şayet yardım edersen, diyagramını dağıtamazsın" demek gibidir. Hem mülkiyet hem de bir dernek ile bir ilişkiyi ifade etmek, kafa karıştırıcı ve cesaretsizdir (son). –
Siz * yardım ederseniz şemayı dağıtabilirsiniz. UML bir tür belgelidir, din değildir. Herhangi bir durumda doğru olan şey hedef kitle dahil olmak üzere çeşitli şeylere bağlıdır. Eğer hedef kitleniz * siz * sizler karışmış olabilirsiniz ve eğer * ben hedef kitle olduğumu söylerseniz bunun gereksiz olduğunu söyleyebilirim. Ancak modelin, UML'yi değil, Java'yı bilen kişiler tarafından okunması isteniyorsa, iki stili aynı anda kullanarak, şemayı okuyabilmelerine yardımcı olabilirler ancak Java'da iki öznenin aynı ada sahip olamayacağını bildikleri için karışıklığa neden olmaz. – Uffe