А вот и я с другим вопросом об агрегировании и объединении. Я хотел изучить некоторые основы UML, поэтому я начал читать книгу Мартина Фаулера «UML на основе дистилляции». Я прочитал обе главы о классах, и, как мне кажется, есть одна вещь, которую я не могу полностью понять, - это агрегация против ассоциации. В книге есть такая цитата:
Во времена, когда еще не было UML, люди обычно довольно расплывчато понимали, что такое агрегация, а что - ассоциация. Смутно или нет, но они всегда несовместимы со всеми остальными. В результате многие разработчики моделей считают, что агрегирование важно, хотя и по разным причинам. Итак, UML включал агрегацию (рис. 5.3), но практически без какой-либо семантики. Как говорит Джим Рамбо: «Думайте об этом как о плацебо для моделирования» [Рамбо, справочник по UML].
Как я понимаю из этой цитаты и тем, которые я прочитал в Stack Overflow, не имеет значения, какое из этих двух отношений я использую, они означают в основном одно и то же, или есть какая-либо ситуация, когда использование агрегации вместо ассоциации было бы оправдано и / или я не мог изменить одно на другое без изменения «значения» диаграммы классов?
Я спрашиваю об этом, потому что эта книга написана в 2003 году, и за эти несколько лет кое-что могло измениться.