Pergunta

eu tenho um Cliente objeto que terá um Pessoa objeto ou Organização objeto nele. Esses Pessoa objetos ou Organização objetos podem ter relações com outros objetos independentes do Cliente objeto. Nesse caso, devo usar uma associação geral de agregação entre Client -> Person e Client -> Organization onde o Cliente objeto é o todo.

Observe também estes cenários:

  1. Pessoa pode ser um normal Pessoa em alguns cenários como; Pessoa faz pagamento em nome de Cliente(*Organização*)
  2. Pessoa pode ser um Cliente que comprou um produtos de nós.
  3. Pessoa pode ser um Fornecedor
Foi útil?

Solução

Enquanto você realmente não forneceu informações suficientes, parece que você está descrevendo um típico Modelo de classe de função.

Eu suspeito que seu cliente realmente não tenho uma pessoa ou uma organização, mas sim essa pessoa ou uma organização é Um cliente, ou IOW, uma pessoa ou uma organização pode desempenhar um papel de cliente em um determinado relacionamento.

Existem várias maneiras de modelar isso, e nenhuma solução correta. Você pode encontrar isso artigo útil

Outras dicas

Não se esqueça de uma restrição XOR entre as duas associações (já que um cliente não pode ser conectado a uma pessoa e uma organização)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top