Service层和Dao层真的有必要每个类都加上接口吗

网友 百科知识 2026-01-23 07:39:16 0

我们开发程序的目的是为了完成业务功能,理想的情况下程序中的每一条语句都应该是与业务直接相关的,例如程序中不应该出现连接数据库,读取某个字段等纯技术性的操作,而应该是得到用户A的基本信息等具有业务含义的操作.dao(dataaccessobject)层存在的意义在于将与数据持久化相关的函数调用剥离出去,提供一个具有业务含义的封装层.原则上说,dao层与utils等帮助类的功能非常类似,只是更加复杂一些,需要依赖更多的对象(如DataSource,SessionFactory)等.如果不需要在程序中屏蔽我们对于特定数据持久层技术的依赖,例如屏蔽对于Hibernate的依赖,在dao层我们没有必要采用接口设计.一些简单的情况下我们甚至可以取消整个dao层,而直接调用封装好的一些通用dao操作函数,或者调用通用的EntityDao类等.程序开发的过程应该是从业务对象层开始的,并逐步将纯技术性的函数调用剥离到外部的帮助类中,同时我们会逐渐发现一些业务操作的特定组合也具有明确的含义,为了调用的方便,我们会把它们逐步补充到service层中.在一般的应用中,业务逻辑很难稳定到可以抽象出接口的地步,即一个service接口不会对应于两个不同的实现,在这种情况下使用接口往往也是没有必要的.在使用spring的情况下原则上应该避免使用getBean的调用方式,应该尽量通过注入来获得依赖对象,但有时我们难免需要直接获取业务对象,在不使用接口的情况下可以采用如下方式classTaskService{publicstaticTaskServicegetInstance(){return(TaskService)BeanLoader.getBean(TaskService.class);}}在程序中我们可以直接使用TaskService.getInstance()来得到TaskService对象.通过命名规范的约定,我们可以从类名推导出spring配置文件中的对象名,因而不需要使用一个额外的硬编码字符串名.

Tag: dao层
免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。邮箱:303555158@QQ.COM。 欢迎关注 企业摆账网

企业摆账网

企业摆账网提供个人/企业摆账,大额存单质押摆账,银承摆账,工程亮资,企业增资验资,公司注册资本实缴,代办验资报告,企业存款证明,企业资金证明以及上市公司审计过账和美化财务报表等大额资金业务。
扫一扫,添加客服微信
添加客服微信,免费咨询!

Copyright © 格特瑞商务咨询-企业摆账网 版权所有 | 黔ICP备19002813号