基于DDD领域模型并支持SaaS平台的开发脚手架.
- 解决编写过程式和事务代码,造成后期维护逻辑混乱、维护成本高的痛点;
- 抛弃MVC框架,拥抱更适合复杂业务的开发框架;
- 网上基本讲的都是DDD的理论很少有讲怎么落地,xtoon-boot提供了完整落地方案和实践;
- 可以快速开发,框架提供了系统管理和组织架构等核心模块;
- 支持多租户的SaaS平台;
工作中一直有个困恼:为什么身边很多项目后期维护时业务逻辑变的混乱不堪,service层代码变的庞大难以修改,维护成本也越来越高,有没有好的解决方式的?
后来接触到Eric Evans的DDD(Domain-Driven Design 领域驱动设计),发现这正是为了解决复杂业务而提出的**。
但后来并没找到一套基于DDD应用的开源框架,因此决定自己从0开始投入研发。
现在1.0版本终于上线了,我们把这套框架开源出来想跟大家探讨并一起维护,希望今后有更多的项目和产品能使用这套框架。
由于本人并不擅长前端,因此前端项目还比较简陋,多多谅解,后续会跟上!
大家多点 ⭐Star 支持下。
- Springboot
- Apache Shiro
- Mybatis-plus
- Alibaba Druid
- Element-ui
对于DDD模型是独立于外部技术的,这不是重点!
- 登录注册:账号、手机号验证登录,租户注册;
- 用户管理:用户新增,分配角色,禁用等;
- 角色管理:角色新增,查看,维护菜单等;
- 菜单管理:树形菜单管理,可配置菜单和按钮权限等;
- 租户管理:租户列表,禁用等;
- 操作日志:系统操作日志记录和查询;
xtoon-boot
├─db 数据库SQL脚本
│
├─src 管理后台
│ │
│ ├─java 模块
│ │ ├─application 应用层
│ │ │ └─impl 应用接口实现
│ │ ├─domain 领域层(核心)
│ │ │ ├─exception 自定义异常
│ │ │ ├─factory 工厂
│ │ │ ├─model 领域模型
│ │ │ ├─service 领域服务
│ │ │ ├─Repository 资源接口
│ │ │ ├─shared 共享类
│ │ │ ├─specification 规格校验
│ │ │ └─util 工具包
│ │ ├─infrastructure 基础设施层
│ │ │ ├─common 通用类
│ │ │ ├─persistence.mybatis mybatis持久化类(应该都熟悉就不展开了)
│ │ │ └─util 工具包
│ │ └─interfaces 接口层
│ │ ├─common 通用类
│ │ └─sys 系统管理
│ │ ├─facede 门面类
│ │ └─web Controller类
│ └─resources
│ ├─static.swagger swagger文件
│ ├─application.yml 全局配置文件
│ └─logback-spring.xml 日志配置文件
│
- 六边形理论
如果有什么问题或建议可以 提ISSUE 或 加群(QQ:130950009),交流技术,分享经验。
如果你解决了某些bug,或者新增了一些功能,欢迎 贡献代码,感激不尽~
本软件基于 Apache-2.0 协议进行分发和使用,更多信息参见 协议文件。