编程思想之Service层和DAO层设计接口浅谈


Service层是提供给表示层用的,对于表示层来说,我不需要知道你怎么实现你的业务的,只要给我一个接口告诉我你能实现就可以,你由谁实现,怎么实现,表示层不关心,也就是说业务实现可能是多种多样的,所以提供一个接口给表示层,这样我业务层怎么改变都不需要修改表示层的代码。

 

同理,DAO层是提供给业务层的,可能实现某个查询的需求,不同的数据库都可以做到比如Hibernate,iBatis, JDBC,提供一个接口给业务层,不管我最终使用哪个数据库,都不会影像到业务层的代码,从而分工明确,并实现解耦。

 

这里附带谈另一个问题,SQL最好还是写在DAO层里,假设我是一个只写业务层的程序猿,不会写SQL,而有另一个会写SQL专门写DAO层的程序猿,我还会自己吭哧吭哧写SQL吗,肯定SQL都让他写,而我只关心我给什么参数,需要什么结果就好了,而对于DAO层来讲,本身就可能用Hibernate或iBatis等,如果我在业务层就限定死了,以后一旦数据库变了,是不是连带着业务层都要改很多。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM