foundation icon indicating copy to clipboard operation
foundation copied to clipboard

Java中台项目,电商中台项目,CMS中台项目。建房子需要打地基,软件开发也一样,优秀的基础设施才能支撑复杂的业务

---Java中台项目,Web开发也能面向对象编程,拒绝面条代码。---

数据库设计

持续更新中......

系统设计文档

包含数据库设计文档,系统约束说明,专有名词说明等等,持续更新中......

wiki

quick start

模块简介

  • foundation-lang: 定义了很多工具类,常用的与业务无关的基础类,比如,树形结构Snowflake唯一ID生成器等等。没有数据库相关的维护。
  • foundation-jooq: 使用jooq作为ORM框架,因此,在这个模块中封装了很多逻辑,并且代码生成也在这个模块中
  • foundation-core: 所有的数据库管理都在这个模块中,根据数据库的Scheme分类,对应相应的程序Package,包括
    • commons: 用于维护与业务无关,通用的数据库表,比如维护email,phone,通用的实体属性等
    • property: 通用的属性,比如电商系统中,商品的属性
    • DataType: 自定义数据类型,和Property结合,可以定义Property的数据类型
    • item: 维护Item模块,Item可以表示很多概念,比如最常见的商品
    • menu: 角色的菜单权限,可以实现类似 Windows 的文件系统的权限分配效果
    • store: 维护店铺模块
    • user: 维护用户体系,最主要的就是维护数据库表的完整性
    • 持续更新中......

推荐的优势

  • 数据库中台项目,不耦合业务,基于这个中台可以发展出各种业务
  • 像使用开源组件一样,100%面向对象编程,绝对不是dao,mapper这样一路下来的面条代码
  • 数据库设计很抽象,不为特点业务开发,比如像权限体系,很多都是user-role这样的模式,而我们这里使用subject,target,action等这样的抽象概念,参考JAAS,几乎可以表示所有的权限体系。
  • 丰富的文档,注释