Estou tentando implementar um sistema usando os princípios do DDD e me deparei com umas duvidas.
Depois de modelar os objetos do meu domínio criei uma fachada para que a a camada de visão chamasse os métodos de negocio através dela, ou seja, não deixo que a visão(bean do JSF) chame métodos dos objetos de domínio diretamente: ex
Tehno uma classe Aluno
public class Aluno{
//getters and seters
public Boletim visualizarBoletim(String anoSemestre){
//logica
}
}
Aí na fachada tenho:
public class DominioAcademicoFacade{
public Boletim vlisualizarBoletim(Aluno aluno, String anoSemstre){
return aluno. VisualizarBoletim(anoSemestre);
}
public Aluno getAluno(String cpd){
return repositorioAluno.getAluno(cpd);
}
}
E finalmente na visão tenho:
public class CentralDoAlunoBean{
private String cpd;
private String anoSemestreSelecionado;
private Boletim boletim ;
private DominioAcademicoFacade dominioFacade;
//getters and settters
public void vlisualizarBoletim(){
Aluno aluno = dominioFacade.getAluno(cpd);
Boletim = dominioFacade.visualizarBoletim(aluno, anoSemestreSelecionado);
}
}
Isso está correto, ou seria melhor criar DTOS para comunicar com a visão? li aqui no forum que é aconselhável não criar os DTOS mas no caso, gostaria de isolar o domínio da visão , outra coisa , para integrar o sistema com outras aplicações via rest ou webservices é valido criar uma fachada para implementar os WebServices usando DTOS?
