Java 了解服务和DAO层
我被要求在项目的业务逻辑模块中创建类的文档。我注意到有一个关于如何创建类的模式。图案是这样的Java 了解服务和DAO层,java,hibernate,architecture,persistence,dao,Java,Hibernate,Architecture,Persistence,Dao,我被要求在项目的业务逻辑模块中创建类的文档。我注意到有一个关于如何创建类的模式。图案是这样的 public class AModel(){ //fields //getter and setters } public class AService(){ public void processA(AModel model){ //creates instance of AMo
public class AModel(){
//fields
//getter and setters
}
public class AService(){
public void processA(AModel model){
//creates instance of AModel, assigns values to fields
//calls ADaoService methods
}
}
public class ADaoService(){
//has methods which call ADao methods
//sample
public AModel retrieveById(long id){
log.debug(...);
return (ADao.retrieveById(id));
}
}
public class ADAo(){
//has entityManager and some query
public AModel retrieveById(long id){
return((AModel) entityManager.find(AModel.class, id));
}
}
我不明白的是,既然ADaoService方法只是调用ADao方法,为什么AService调用ADaoService方法而不是仅仅调用ADao方法。在我看来,ADaoService只是浪费代码。它们是usignhibernate和jbossserver。我对这种类型的建筑还不熟悉。希望有人能帮我理解。谢谢。好吧,如果
ADaoService
除了将调用委托给ADao
之外什么都不做,那么很明显你是对的-它目前没有存在的理由
关于未来的理由,好吧,AFAIK,典型的分层不包括ADaoService
层。我工作的地方没有。在Hibernate文档中从未见过它
要么你的架构师对图层很大方,要么他们考虑了一些不典型的场景
如果没有图层的当前用法,也没有明确的未来用法,那么最好不要图层