Представьте эти классы, где SeasonPoints
агрегируются композицией Team
и Season
, где Team
, который играет во многих Season
х может иметь несколько SeasonPoints
, и Season
со многими Team
с может иметь несколько различных SeasonPoints
из Team
с.UML: Может ли класс быть агрегирован через композицию для двух других классов?
Обратите внимание, что для того, чтобы SeasonPoints
существовать она нужна команда, которая набирал очки и сезон, что точки были забиты на, так что я не вижу другого способа сделать эту схему:
1 n n 1
|Team|<comp>----|SeasonPoints|-----<comp>|Season|
возникает вопрос, потому что таким образом вы могли бы уничтожить либо Team
, либо Season
и SeasonPoints
все еще существовали (в другом классе, который не был уничтожен), что означало бы уничтожение контейнера без уничтожения содержащегося в нем класса, и в композиции говорится, что если контейнер уничтожен, поэтому должны содержаться классы.
любая идея, что было бы «правильной моделью» для этих трех классов? – Jose
Используйте либо простое объединение, либо общую агрегацию.Но я бы моделировал SeasonPoints как класс ассоциации (на самом деле это). –