NebulaFramework 模块介绍
模块组成(核心)
- nebula-framework-core:核心基础模块,可用于搭建 Web 框架。
- nebula-framework-auth:集成登录验证及权限验证的框架。
模块组成(业务)
- nebula-framework-system:为 Nebula Admin 前端项目开发的系统管理模块。
- nebula-framework-development:为 Nebula Admin 开发的开发管理模块。
- nebula-framework-organization:为 Nebula Admin 开发的组织管理模块。
- nebula-framework-log:为 Nebula Admin 开发的日志管理模块。
模块组成(插件)
- nebula-framework-generator:基于 Maven 插件的代码生成插件。
业务模块目录结构
这里我会讲一下业务模块的开发,因为核心模块是有框架开发人员去维护的,所以如果有机会,我会单开一章来介绍核心模块的开发。
现在我们以一个单表的业务来介绍一下领域驱动设计开发的流程。现在我们可以打开nebula-framework-development
模块,看一下里面的api
目录,这是一个典型的目录结构,如下:
├── api
│ ├── interfaces ------------------------------------------ 接口层
│ │ ├── controller - 接口
│ │ ├── form - 表单层
│ │ ├── vo - 视图层
│ ├── application ----------------------------------------- 应用层
│ │ ├── service - 应用服务
│ │ │ ├── command - 命令对象
│ │ │ ├── query - 查询对象
│ │ ├── repository - 查询侧仓储层
│ │ ├── assembler - 领域对象和命令对象转换器
│ ├── domain ---------------------------------------------- 领域层
│ │ ├── entity - 实体/聚合根/值对象
│ │ ├── repository - 领域侧仓储层
│ │ ├── service - 领域服务
│ ├── infrastructure -------------------------------------- 基础设施层
│ │ ├── repository - 仓储设施
│ │ │ ├── impl - 实现类
│ │ │ ├── mapper - MyBatis 映射文件
│ │ │ ├── dataobject - 持久化对象
│ │ │ ├── convert - 数据转换类
│ │ │ ├── condition - 查询条件类