java 业务分层设计

本文探讨了在业务复杂度较高的情况下,如何优化Java的分层设计。传统的controller、service、serviceImpl、mapper、entity分层在面对复杂业务时显得过于冗长。作者提出了一种细化的分层方案,包括对serviceImpl层的拆分,以及针对相同类型操作的再归纳,以提升代码的可读性和可维护性。通过这样的设计,可以更好地理解各层职责,快速定位问题,实现解耦和复用。
摘要由CSDN通过智能技术生成

前言

  1. 在业务开发过程中,普遍的分层为 controller、service、serviceImpl、mapper或dao、entity,等几层。但是在业务复杂度相对比较高的情况下。serviceImpl层中的逻辑会非常复杂,并且冗长。
  2. 所以在参考了其他的分层设计,并且根据自己的经验。对分层与职责进一步细化,项目与模块,根据实际情况进行取舍。
  3. 公共组件和框架组件,这里不分析。

项目结构

XXX项目
│
├─doc    项目文档
│  │ 
│  └─sql    sql文件,可以按照日期进一步区分。
│     │
│     └─ yyyy-MM-dd-功能.sql
│  
├─xxx-业务模块-api    对外接口(com.公司.项目.业务.模块.api)
│  │
│  ├─dto    对外实体包
│  │  │
│  │  ├─in    dto入参(类名:XxxInDTO)
│  │  │
│  │  └─out    dto出参(类名:XxxOutDTO)
│  │
│  ├─feign    feign接口(接口类名:XxxFeign)
│  │
│  └─hystrix    feign接口熔断返回实现(类名:XxxFallback)
│
├─xxx-业务模块-service    业务服务(com.公司.项目.业务.模块.service)
│  │
│  ├─provider    服务提供者,对应feign接口的实现(类名:XxxProvider)
│  │
│  ├─controller    控制层(类名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值