热爱技术,追求卓越
不断求索,精益求精

【10】创建系统模块,确定模块包结构

从0开始搭建后台管理系统,这是No10。上一篇我们讲到了:创建第一个数据库表:用户表。这一节,我们就来创建系统模块,为后续的数据库访问做准备。

创建系统模块

用Trae打开项目,在主项目的pom.xm上右键->Maven->新建Module,在New Maven Module中选择Parent,输入“yuen-system”,然后回车,就增加了系统模块。

删除自动生成的java文件,把系统模块的包名设置为“cn.lovecto.yuen.system”。

一个模块的包结构应该包含什么?

一个模块的包结构应该包含domain(domain包含业务对象bo和视图对象vo)、mapper、service(包含接口和实现)、controller。这是分层架构和领域驱动设计(DDD) 结合的经典实践。这种结构通过明确各层职责边界 ,实现了 高内聚、低耦合的系统设计目标,为中大型项目的 可维护性、可扩展性、可测试性 提供了坚实基础。

  1. controller 层:系统入口(控制层)
  • 核心职责 :处理HTTP请求/响应,参数校验,调用 service 层完成业务逻辑,并将结果包装为 vo 返回给前端。
  • 设计意图 :作为系统与外部(前端/其他服务)的”桥梁”, 只做请求转发和响应封装 ,不包含业务逻辑。
  1. service 层:业务逻辑的核心(业务逻辑层)
  • service 接口 :定义业务功能的契约(如”创建用户”、”提交订单”),明确业务能力边界。
  • service 实现类 :实现接口定义的业务流程,调用 mapper 层访问数据,结合 domain.bo 处理核心业务规则。
  • 设计意图 : 编排业务流程 ,将分散的业务能力组合为完整的业务场景。
  1. domain 层:业务模型的载体(领域层)
  • domain.bo (Business Object,业务对象) :业务领域的核心模型,包含 业务属性 (如用户的姓名、余额)和 业务方法 (如用户的”扣款”、”升级会员”行为),封装了业务规则和状态。
  • domain.vo (View Object,视图对象) :与前端/外部交互的数据结构,根据展示需求对 bo 进行 裁剪、组合或格式化 (如隐藏敏感字段、聚合多业务数据)。
  • 设计意图 :将业务逻辑与技术实现分离,确保业务规则的 一致性和可复用性 。
  1. mapper 层:数据访问的抽象(数据访问层)
  • 核心职责 :封装与数据库的交互细节(如SQL执行、结果映射),通常基于ORM框架(如MyBatis、JPA)实现。
  • 设计意图 : 隐藏数据存储的技术细节 ,使上层业务逻辑无需关心数据如何持久化。

我们的后台管理系统的一个模块的包结构如下图:

image

赞(0)
未经允许不得转载:LoveCTO » 【10】创建系统模块,确定模块包结构

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

热爱技术 追求卓越 精益求精