Qual seria a sintaxe para criar um aluno utilizando a Fabrica no lugar deste método na classe MatricularAlunoDTO:
public Aluno criarAluno() {
return new Aluno(new Cpf(cpfAluno), nomeAluno, new Email(emailAluno));
}
Qual seria a sintaxe para criar um aluno utilizando a Fabrica no lugar deste método na classe MatricularAlunoDTO:
public Aluno criarAluno() {
return new Aluno(new Cpf(cpfAluno), nomeAluno, new Email(emailAluno));
}
Oi Cristian,
Poderia ser utilizando a fábrica dentro do DTO:
public Aluno criarAluno() {
return new FabricaDeAluno()
.comNomeCPFEmail(nomeAluno, new CPF(cpfAluno), new Email(emailAluno))
.criar();
}
Certo, mas pelo que eu tinha entendido das aulas (e posso ter entendido errado) o retorno do metodo "comNomeCPFEmail" é uma "FabricaDeAluno" e não um "Aluno".
public FabricaDeAluno comNomeCPFEmail(String nome, String cpf, String email) {
this.aluno = new Aluno (new CPF(cpf), nome, new Email(email));
return this;
}
Outra coisa que não entendi na sua resposta, foi o método ".criar()" no final. De onde ele está vindo?
Obrigado pela resposta.
O método criar é justamente o que instancia um objeto Aluno para devolver.
Dá uma assistida novamente na aula de factory que tem a explicação com o método criar.
Perfeito. Agora reassistindo entendi. O vídeo tem uma finalização e depois, bem no final, um corte onde você volta pra explicar justamente esse ponto que fiquei em dúvida. Eu tinha parado de assistir antes do corte por isso fiquei sem a explicação completa.
Obrigado novamente.