Каковы подходящие отношения класса UML? - PullRequest
0 голосов
/ 09 июня 2018

В моем случае, каковы подходящие отношения между CarBuilder и SuperCar (также SportCar)?

Объяснение: CarBuilder содержит массив экземпляров класса Car, но не создает никакого экземпляра класса Car.Вместо этого он создает экземпляры классов SportCar и SuperCar, напрямую вызывая метод CreateInstance () этих двух классов.

Диаграмма классов: CarBuilder

1 Ответ

0 голосов
/ 10 июня 2018

В своем вопросе вы описываете три различных отношения - композиционное (которое у вас уже есть), а затем два других к конструкторам SuperCar и SportCar.Поэтому я бы просто добавил ассоциацию к SuperCar и SportCar из CarBuilder.

Кстати, кажется маловероятным, что у вас когда-либо будет автомобиль, составленный в CarBuilder - возможно, вы имеете в виду (слабый) агрегат, а некомпозиция?Конечно, автомобиль может существовать за пределами CarBuilder?Кроме того, это выглядит как частичная реализация шаблона стратегии, возможно, стоит посмотреть, насколько это актуально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...