为何选择xtoon-boot
- 解决编写过程式和事务代码造成后期维护逻辑混乱、维护成本高的痛点;
- 抛弃MVC框架,拥抱更适合复杂业务的开发框架;
- 网上基本讲的都是DDD的理论很少有讲怎么落地,xtoon-boot提供了完整落地方案和实践;
- 可以快速开发框架提供了系统管理和组织架构等核心模块;
- 支持多租户的SaaS平台;
为何开源
项目初期或MVP阶段建议用DDD的单体框架开发应用,后期根据领域的不同弹性需求再改造成微服务版。
不建议项目开始就上微服务,服务拆分的很细,这只会增加开发成本和风险,个人认为应该选择合适的框架开发单体应用,后期再快速的、低成本的过度为微服务版。
这正是我们开源基于DDD的xtoon框架的初衷,目前单体应用版和微服务版都已发布正式版,希望能给践行DDD和微服务的开发者们带来一些价值,谢谢!
技术选型
- Springboot
- Apache Shiro
- Mybatis-plus
- Alibaba Druid
- Element-ui
主要模块
- 登录注册:账号、手机号验证登录,租户注册;
- 用户管理:用户新增,分配角色,禁用等;
- 角色管理:角色新增,查看,维护菜单等;
- 菜单管理:树形菜单管理,可配置菜单和按钮权限等;
- 租户管理:租户列表,禁用等;
- 操作日志:系统操作日志记录和查询;
核心思想
- 六边形理论
2005年Alistair Cockburn提出了六边形架构又被称为端口和适配器架构。观察上图我们发现对于核心的应用程序和领域模型来说其他的底层依赖或实现都可以抽象为输入和输出两类。组织关系变为了一个二维的内外关系而不是上下结构。每个io与应用程序之前均有适配器完成隔离工作每个最外围的边都是一个端口。基于六边形架构设计的系统是DDD追求的最终形态。
如果有什么问题或建议可以加群(QQ:130950009)交流技术分享经验。