我被要求在项目的业务逻辑模块中创建类的文档。我注意到有关如何创建类的模式。模式看起来像这样
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));
}
}
我不明白为什么AService调用ADaoService方法而不是仅调用ADao方法,因为ADaoService方法只是调用ADao方法。在我看来,ADaoService只是浪费代码。它们是Hibernate和JBoss服务器。我对这种类型的架构不熟悉。希望有人能帮助我理解。感谢。
答案 0 :(得分:8)
好吧,如果ADaoService
除了将来电委托给ADao
之外什么都没做,那么显然你是对的 - 目前 。
关于未来的理由,AFAIK,典型的分层不包括ADaoService
层。我工作的地方没有。从未在Hibernate docs中看到它......
你的建筑师要么慷慨有层次,要么考虑到一些非典型的场景。
如果该层没有当前用法且没有明确的未来用法 - 没有它你会更好。