Boa tarde,
Não sei se estou no fórum certo, mas como esse fala em “arquitetura de sistemas”, vamos lá.
Gostaria de saber como modelar um sistema “fornecedor de serviço - cliente”. Por exemplo: Aqui está a modelagem que estou usando.
Classe abstrata Agente;
Classe PJ É UM Agente;
Classe PF É UM Agente;
Cliente PODE SER um PF ou PODE SER um PJ;
Classe Atendimento TEM UM Cliente;
Pois é… a dúvida é essa: Como modelar essa classe Cliente que pode ser PJ ou PF. Pensei em criar a classe Cliente com atributos PF e PJ e quem não estivesse nulo “ditaria” quem é esse “cara”. Entretanto achei essa solução meio porca (posso estar redondamente errado, devido a minha inexperiência). Outra solução que imaginei foi colocar em Atendimento as classes ClientePJ e ClientePF, se comportando da mesma forma explicada anteriormente. Mas também não vi com bons olhos essa solução.
As operações são iguais. PF e PJ diferem apenas pelos atributos que definem as documentações(CPF, CNPJ, RG, etc). Essas informações serão importantes para relatórios, contato e notas fiscais.
Então companheiros de Jornada Javaneira, ou melhor, UMLeira, como fazer?
Agradeço antecipadamente.
Celso Martins
