Boa tarde pessoas,
Vou resumir, pra não dar voltas.
Tenho um sistema que faz controle de relatórios que transitam pela empresa em que trabalho. O único propósito desse sistema é:
Os usuários recebem e enviam os relatórios entre os setores da empresa, e fica armazenada um histórico de toda movimentação.
Então, tenho basicamente três classes: Usuario, Relatorio e Setor.
Em Usuario ficam as informações do mesmo:
public class Usuario {
private String nome;
private String login;
private Setor setor;
//etc, etc
}
public class Relatorio {
private Date dataEmissao;
private Setor setorAtual;
}
public class Setor {
private int codigo;
private String nome;
}
Tenho também minhas classes DAO - que não acho necessário mostrar aqui - e tô desenvolvendo utilizando DDD.
Agora a dúvida: eu tenho uma movimentação de relatórios de um setor a outro. Primeiramente tive a idéia mais simples: colocar o método movimentarRelatorio na classe Relatorio.
Mas ontem vi um post de um usuário em outro tópico ontem que me fez ver a coisa de outra forma: um (ou mais) relatório(s) são movimentados entre setores, e a partir de um Usuario.
Então tenho as seguintes opções, quanto a onde fica o método movimentarRelatorio:
1 - Na classe Relatorio. Mas acho muito estranho, pois um relatorio não se movimenta.
2 - Na classe Usuario, já que é uma operação que o usuário realiza. Também há o fato de que um relatório tem um Setor origem e um Setor destino, tornando, no meu ponto de vista, essa opção a mais correta.
O que vocês acham? Opção 1 ou 2? E porque?
Muito obrigado desde já, forte abraço!