Коллеги, добрый вечер!
Раньше не предавал этому большого значения и старался всегда использовать связи 1--0..1 между классами вместо 1--1. Сейчас же решил разобраться в отличии этих видов ассоциаций, но, к сожалению, не смог обнаружить чёткого ответа на возникший вопрос. Прошу помочь.
Насколько я понимаю "1" возле одного класса говорит о том, что перед созданием второго класса уже должен быть создан объект первого. "0..1" не устанавливает такого требования, то есть при создании объекта второго класса объект первого класса может не существовать. Таким образом никаких вопросов по сути связи "1--0..1" у меня не возникает.
Вопрос возникает когда я пытаюсь осмыслисть связь "1--1". Насколько я понимаю объект первого класса не может быть создан без существующего объекта второго класса. Аналогичное правило действует и в обратном направлении. Вопросы такие:
- Как тогда можно создать объект одного из классов если они не могут "жить" друг без друга?
- Как трактовать связь "1--1" с однонаправленной ассоциацией? Как это будет выглядеть в коде приложения?