---Java中台项目,Web开发也能面向对象编程,拒绝面条代码。---
数据库设计
-
目前已经有54个表
-
使用 MySQL Workbench 打开
持续更新中......
系统设计文档
-
使用FreeMind打开
包含数据库设计文档,系统约束说明,专有名词说明等等,持续更新中......
wiki
模块简介
- foundation-lang: 定义了很多工具类,常用的与业务无关的基础类,比如,树形结构,Snowflake唯一ID生成器等等。没有数据库相关的维护。
- foundation-jooq: 使用jooq作为ORM框架,因此,在这个模块中封装了很多逻辑,并且代码生成也在这个模块中
- foundation-core: 所有的数据库管理都在这个模块中,根据数据库的Scheme分类,对应相应的程序Package,包括
-
- commons: 用于维护与业务无关,通用的数据库表,比如维护email,phone,通用的实体属性等
-
- property: 通用的属性,比如电商系统中,商品的属性
-
- DataType: 自定义数据类型,和Property结合,可以定义Property的数据类型
-
- item: 维护Item模块,Item可以表示很多概念,比如最常见的商品
-
- notification: 通知体系
-
- security: 维护权限控制体系
-
- menu: 角色的菜单权限,可以实现类似 Windows 的文件系统的权限分配效果
-
- store: 维护店铺模块
-
- user: 维护用户体系,最主要的就是维护数据库表的完整性
-
- 持续更新中......
推荐的优势
- 数据库中台项目,不耦合业务,基于这个中台可以发展出各种业务
- 像使用开源组件一样,100%面向对象编程,绝对不是dao,mapper这样一路下来的面条代码
- 数据库设计很抽象,不为特点业务开发,比如像权限体系,很多都是user-role这样的模式,而我们这里使用subject,target,action等这样的抽象概念,参考JAAS,几乎可以表示所有的权限体系。
- 丰富的文档,注释