Для диаграмм классов, является ли в рамках соглашения наличие класса A, хранящего ArrayList класса B, который может изменяться классом C? - PullRequest
0 голосов
/ 09 апреля 2020

Упрощенный сценарий: у вас есть клиенты, которые могут сделать заказ, и у вас есть менеджеры, которые могут взаимодействовать с этими заказами. Наряду с классами «Заказчик» и «Менеджер» существует класс «Бронирование», представляющий каждое бронирование.

Допустимо ли иметь класс «Заказы» специально для хранения ArrayList всех объектов « Резервирование »и операции по взаимодействию с этими объектами« Резервирование »(например, добавление, удаление, изменение и создание списка), которые может использовать любой« Менеджер »?

Diagram of the described scenario

Я был не уверен, как класс Manager вписывается в сценарий, с точки зрения соглашения. Также не показано, что Manager является дочерним элементом класса «Staff» как часть полного сценария (здесь не описан).

1 Ответ

0 голосов
/ 09 апреля 2020

Допустимо ли иметь класс "Bookings" специально для хранения ArrayList всех объектов "Booking" и иметь операции для взаимодействия с этими объектами "Booking" (например, добавлять, удалять, изменять и перечислять), которые любой "Менеджер" может использовать?

Видимо Бронирования - это всего лишь коллекция Бронирования , вам не нужен определенный класс c для что коллекции существуют сами по себе

Для диаграмм классов является ли условием наличие класса A, хранящего ArrayList класса B, который может изменяться классом C

без класса Бронирования у нас нет A, B и C, так или иначе, чтобы ответить на этот вопрос из этого контекста в UML, нет ничего против этого или поощрения этого. Я могу просто сказать независимо от UML, пока коллекция принадлежит A, тот факт, что C может изменить ее, может быть опасным без предупреждения A или с просьбой сделать это самостоятельно

Я не был уверен, как класс Manager вписывается в сценарий

Менеджер может быть классом, владеющим коллекцией Бронирование

enter image description here

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