DAO层和Service层联系与对比
在MVC和三层框架里的DAO大层分为DAO层和DAOImpl层,Service大层分为Service层和ServiceImpl层;有时候感觉没有那么大必要,分这么多层,太麻烦,有的一个层才写一两句话,这个怎么理解呢,好比一本书,写那么多页,其实也可以把所有的内容都写在一张纸上,只不过不方便,不好找。有目录,有页码,方便查找,修改,维护;
我的结构目录如下:
UserDAOImpl实现了UserDAO,返回值类型一致;
同理,UserServiceImpl实现了UserService,类型一致;
那么问题来了,我的DAO大层和Service大层这两个大层的耦合性不是很好,而DAO和DAOImpl的耦合性很高,同理,Service和ServiceImpl的耦合性很好。这个很好理解,因为DAO层和Service都是接口,而DAOImpl和ServiceImpl都是将各自的接口实例化;打个比方,DAO和DAOImpl是萧远山和萧峰父子,Service和ServiceImpl是慕容博和慕容复父子;显然,DAO大层和Service大层的联系没有各自和亲儿子关系好;初学者,要将DAO和Service两个对比联系起来看,才不至于乱;