Ha, é verdade. Obrigado.
Aproveitando, queria saber justamente sobre o responsável.
No método definirResponsavel()
, passamos uma instância do responsável. Até aí, blz.
Se entendi bem, vc já tinha me dito que um objeto não pode estar em um estado inválido quado for instanciado. Então, para efeito do exemplo, vamos supor que um responsável deva ter obrigatoriamente um nome e um email. Logo, quando instanciamos um responsável, ele deverá ter estes dois atributos passados no construtor.
A dúvida é a seguinte.
Supondo uma consulta de alunos que retorne o nome do aluno, telefone do aluno e email do responsável (talvez não seja um exemplo real, mas só para vc entender minha dúvida).
Veja que não vou usar o nome do responsável. Mas como o construtor pede nome e email, por serem obrigatórios para que o objeto seja válido, como fica?
Lá no repositório devo incluir na SQL o nome do responsável para satisfazer a obrigatoriedade (mesmo o atributo nome não sendo usado neste caso)?
Se entendi bem, se eu alter o construtor passando somente o email, em algum outro caso quando eu instanciar um responsável, somente o email seria exigido no instanciamento, fazendo o objeto ficar em um estado inválido (um responsável sem nome)
Resumindo: Considerando em entidades que possuem mais de um atributo obrigatório no construtor para que esteja em um estado válido ao ser instanciada. Em uma consulta SQL qualquer que envolva esta entidade onde eu vá efetivamente usar somente um atributo dela, como fica?