Связь агрегации между клиентом и человеком / организацией

StackOverflow https://stackoverflow.com/questions/4040567

  •  27-09-2019
  •  | 
  •  

Вопрос

у меня есть Клиент объект, который будет иметь либо Человек объект или Организация объект в нем. Эти Человек объекты или Организация объекты могут иметь отношения к другим объектам, независимым от Клиент объект. В этом случае я должен использовать общую ассоциацию агрегации между Client -> Person а также Client -> Organization где Клиент объект в целом.

Также обратите внимание на эти сценарии:

  1. Человек может быть нормальным Человек в некоторых сценариях, как; Человек производит оплату от имени Клиент(*Организация*)
  2. Человек может быть А. Клиент который купил А. Товар от нас.
  3. Человек может быть А. Поставщик
Это было полезно?

Решение

Пока вы действительно не предоставили достаточно информации, звучит так, как вы описываете типичный Модель ролей класса.

Я подозреваю, что ваш клиент на самом деле не имеют человек или организация, а скорее человек или организация является Клиент или IOW, либо человек, либо организация, могут играть роль клиента в определенных отношениях.

Существуют различные способы моделирования этого и без одного правильного решения. Вы можете найти это статья полезный

Другие советы

Не забудьте ограничение XOR между обеих ассоциаций (поскольку клиент не может быть подключен как к человеку, так и к организации)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top