Dúvida modelagem de classe

9 respostas
L.Bach

Bom dia, pessoal.

Estou com um pequeno problema…

Tenho uma classe Funcionario, na qual indico em qual empresa este trabalha:

public class Funcionario{
          
          private Empresa empresa
     }

E tenho uma classe Empresa, na qual tenho um atributo, que é o diretor da empresa:

public class Empresa{
     
          private Funcionario diretor
     }

Ou seja, uma classe faz referência à outra. Qual seria, na opinião de vocês, a melhor maneira de resolver isso?
Abraços

9 Respostas

B

Precisa resolver? Não vejo problema algum.

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?

B

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. :wink:

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.

Criado 18 de dezembro de 2008
Ultima resposta 18 de dez. de 2008
Respostas 9
Participantes 6