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

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

 

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

 

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

转载于:https://www.cnblogs.com/Hibara/p/10174036.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值