假设我的事务切点切在业务层。
想问一下有开发经验的猿。在做WEB项目的时候,从数据库获取数据时(也就是不需要事务的操作),你们需要经过业务层吗?还是喜欢直接调用DAO层,忽略掉业务层?不需要事务的操作经过业务层对性能有多大影响?
5 回答
不负相思意
TA贡献1777条经验 获得超10个赞
分层的目的是为了使工程的结构更加清晰,将逻辑拆分开,不同的层做不同的事情,实现一定程度上的解耦和复用,
比如你有一个需要导出统计结果的需求,让你用两个接口分别导出csv格式的和excel格式的,
如果不拆分controller和service,那么你需要写两次查询组装数据的逻辑,
如果拆分了,service层做查询组装数据的逻辑, controller层做包装为csv或excel,那么你的service层查询组装数据的逻辑就可以复用了,
如果有一天,需求变更,导出的数据要求新增一个字段,那么直接在service层改了即可,如果不拆分,就需要两个地方都改,
所以拆分可以便于维护,
守着星空守着你
TA贡献1799条经验 获得超8个赞
哦,我的问题没描述完整,我是从表现层到控制层(使用@Controller 注解的类),再DAO层,这样把业务层忽略了可以吗?正规的开发是不是这样的呢?
隔江千里
TA贡献1906条经验 获得超10个赞
controller层是做跳转控制、数据包装等操作的,不涉及到业务转换和处理,没法省掉。强行省掉,会把业务代码升到controller层或者降到dao层,这样都是不利于解耦和复用的
添加回答
举报
0/150
提交
取消
