DAO,Service接口与实现类设计
2013-08-06 01:20
302 查看
DAO接口
为每个DAO声明接口的好处在于
1. 可以在尚未实现具体DAO的时候编写上层代码,如Service里对DAO的调用
2. 可以为DAO进行多实现,例如有JDBCDAO实现,MyBatisDAO实现,而不需要更改上层代码,只需要简单的在Spring的IoC配置里修改一下注入的DAO实现
Service接口
1. 可以在尚未实现具体Service情况下编写上层改代码,如Controller对Service的调用
2. Spring无论是AOP还是事务管理的实现都是基于动态代理的,而动态代理的实现依赖于接口,所以必须有接口的定义才能使用这些功能
3. 可以对Service进行多实现
总的来说,接口的优势就在于规范方法参数,返回值,另外可以实现多态,结合Spring来说接口对于使用Spring的各种功能也是不可或缺的
另外,使用接口对于测试代码也是有好处的,对于mock一个方法来说,我们不需要关注方法的具体实现,因为本来mock就会将方法内部实现置空,我们的关注点集中于方法参数以及返回值,所以使用接口对于快速实现流程上的测试是有好处的.
为每个DAO声明接口的好处在于
1. 可以在尚未实现具体DAO的时候编写上层代码,如Service里对DAO的调用
2. 可以为DAO进行多实现,例如有JDBCDAO实现,MyBatisDAO实现,而不需要更改上层代码,只需要简单的在Spring的IoC配置里修改一下注入的DAO实现
Service接口
1. 可以在尚未实现具体Service情况下编写上层改代码,如Controller对Service的调用
2. Spring无论是AOP还是事务管理的实现都是基于动态代理的,而动态代理的实现依赖于接口,所以必须有接口的定义才能使用这些功能
3. 可以对Service进行多实现
总的来说,接口的优势就在于规范方法参数,返回值,另外可以实现多态,结合Spring来说接口对于使用Spring的各种功能也是不可或缺的
另外,使用接口对于测试代码也是有好处的,对于mock一个方法来说,我们不需要关注方法的具体实现,因为本来mock就会将方法内部实现置空,我们的关注点集中于方法参数以及返回值,所以使用接口对于快速实现流程上的测试是有好处的.
相关文章推荐
- ssh Dao与Service的设计与实现
- dao设计(四),预留实现(接口作为参数)
- Dao接口和实现类以及Service接口和实现类代码抽取
- SSM实战——秒杀系统之Service层接口设计与实现、Spring托管、声明式事务
- 电子商务系统的设计与实现(五):账务系统的功能接口设计
- 基于Spring、Hibernate的通用DAO层与Service层的实现
- 【转】App开放接口api安全性—Token签名sign的设计与实现
- OpenJDK源码研究笔记(十四):三种经典的设计方法,接口,接口-抽象类-具体实现类,接口-具体实现类
- app接口设计之token的php实现
- 基于FPGA的以太网MII接口扩展设计与实现
- zTree实现地市县三级级联DAO接口实现
- Javascript乱弹设计模式系列(0) - 面向对象基础以及接口和继承类的实现
- 如何实现一个优质的微服务框架:Apache ServiceComb 的开放性设计
- App开放接口api安全性—Token签名sign的设计与实现
- Tuscany implementation.spring中@Service注解实现多重接口的...
- 注解+反射+JDBC,实现一个简易的泛型DAO接口
- 为什么Controller层注入的是Service接口,而不是ServiceImpl实现类
- hadoop中InputFormat 接口的设计与实现
- Android HAL实现的三种方式(2) - 基于Service的HAL设计
- 设计模式之Programming to an Interface, not anImplementation 程序指向接口,而不是实现