Imagina o usuário cadastrando a empresa. Terá que deixar o campo “Diretor” em branco.
Posteriormente, cadastra este Funcionario (que virá a ser o Diretor), e retorna à empresa para setá-lo.
Não fica esquisito?
B
Bruno_Laturner
Isso já é decisão de como implementar.
Um jeito é implementar na frente dos panos fazendo com que o usuário crie a empresa e o diretor junto. Por trás seriam duas operações, a criação da empresa sem o diretor, depois a criação do diretor.
O que é impossível mesmo é fazer uma relação de composição nos dois casos. A empresa pode sobreviver sem diretor (agregação). Funcionário não (composição).
Rapapel
L.Bach:
No meu modo de ver, há um erro.
Imagina o usuário cadastrando a empresa. Terá que deixar o campo “Diretor” em branco.
Posteriormente, cadastra este Funcionario (que virá a ser o Diretor), e retorna à empresa para setá-lo.
Não fica esquisito?
Tambem não vejo problema.
O problema pode esta na regra de negocio, que tem que estar clara. Qualquer funcionário pode cadastrar uma empresa? ou somente funcionários Diretores? O que define a regra para cadastranento de empresas?
L.Bach
Bueno, para fins de elucidação:
na empresa que trabalho, por exemplo, cada vez que é aberta uma filial, cadastra-se uma empresa nova em nosso ERP. Quando esta empresa é cadastrada, já se indica quem é o diretor.
Há um usuário designado para lançar estas informações.
Quanto à regra de negócio, não há dúvidas.
Minha dúvida é somente em relação à modelagem das classes, pois achei que dessa forma ficariam “deselegantes”.
Abraço
m0ska
Bem, em dado momento, um objeto funcionário, precisa acessar um objeto empresa e vice-versa… São visões.
Se realmente for necessário um relacionamento bi-direcional. use-o.
TFAGUNDES6
Sem pensar !!
Referencia um funcionário na empresa e dentro de funcionário crie um tipo de funcionário!!
L.Bach
Não entendi a razão de criar um tipo de funcionário
Marky.Vasconcelos
Isso está correto… voce pode ter varios Funcionarios que trabalham nessa Empresa mas a Empresa vai ter apenas um Funcionario que é diretor.