Я и мои коллеги не можем прийти к единому мнению. В UML, когда выполняется агрегация, имеет ли ромбовидная сторона кратность максимум 1 или может быть 0..* ? Или это зависит от точки зрения?
Заранее спасибо!
Множественность агрегации UML
Ответы (2)
Во-первых, вам нужно уточнить, какой «ромб» вы имеете в виду под пустым ромбом в агрегации, а заполненный ромб — это композиция?
Если вы имеете в виду пустой алмаз, то Icepack верен, и вы путаете две разные вещи. Множественность не связана с Агрегацией, поэтому ромбовидный индикатор агрегации может иметь любую множественность по вашему желанию. не связаны.
Если вы имеете в виду заполненный ромб, то есть композицию, то пример, который кто-то опубликовал, на самом деле вам не поможет, поскольку он говорит: «Есть много факультетов, но only 1
университет (множественность)» и что «если удаляются все факультеты, то удаляется и Университет (состав)».
Я изо всех сил пытаюсь придумать хороший пример, где конец composition не будет 1 only
и, насколько я могу думать, никогда не будет 0..*
, поскольку у вас может быть класс, который должен удалить что-то, что не может быть когда-нибудь существовал? Однако я мог бы быть 1..*
, т.е. многие ко многим, например, Экзамен и Экзаменационные вопросы.
Множественность может быть от 1..*
до 1..*
, т.е. в экзамене может быть 1 or more
вопросов, а вопрос может находиться в 1 or more
экзаменах. Закрашенный ромб (состав) в конце экзамена означает, что если все вопросы будут удалены, то все экзамены также будут удалены.
Да, это может быть 0..*. Хороший пример здесь: На кафедре несколько профессоров, и каждый профессор может принадлежать к нескольким кафедрам. в то же время.