Go to file
2024-12-04 11:29:07 +08:00
orgmanax-api 添加 README.md 2024-12-04 11:29:07 +08:00
orgmanax-common 添加 README.md 2024-12-04 11:29:07 +08:00
orgmanax-domain 添加 README.md 2024-12-04 11:29:07 +08:00
orgmanax-infra 添加 README.md 2024-12-04 11:29:07 +08:00
orgmanax-server 添加 README.md 2024-12-04 11:29:07 +08:00
.gitignore 目录结构调整 2024-12-02 15:57:10 +08:00
Dockerfile 目录结构调整 2024-12-02 15:57:10 +08:00
img.png 添加 README.md 2024-12-04 11:29:07 +08:00
pom.xml 规范maven,添加创建部门示例 2024-12-02 20:12:54 +08:00
README.md 添加 README.md 2024-12-04 11:29:07 +08:00

项目概述

  • 项目名称Orgmanax“Org” 代表 organization组织man 表示 “人”,ax 象征对这些元素进行整合.
  • 项目简介:维护单位、部门、人员、岗位相关的业务及数据,比如:通讯录、项目添加人员、添加班组、更换班组长等

项目约束

  • 引用外部其它域、第三方SDK时需要与Leader确认禁止私自引入
  • service分为basic(基础功能)与biz(业务功能)。basic不可依赖bizbiz应依赖basic完成部分功能。原则上bizbiz也不应该互相依赖
  • 代码风格:
    • 命名规范:采用驼峰命名法,如:orgmanaxDomain
    • 代码注释:
      • 类注释:类名、功能、作者、创建时间、修改时间等
      • 方法注释:方法名、功能、参数、返回值、作者、创建时间、修改时间等
      • 代码风格:
        • 缩进4个空格
          • 换行每行不超过120个字符
          • 空格:
            • 关键字前后:ifforwhileswitchcase等前后各一个空格

项目结构

模块层级

img.png

模块描述

模块名称 功能 依赖
orgmanax-api API层提供给二方的SDK方便二方快速接入人岗架相关功能
orgmanax-common 公共组件、UTIL等
orgmanax-domain 领域层,核心业务逻辑
orgmanax-infra 基础设施层,隔离非业务变化,防止外部变化引起内部业务变更。
对接二方依赖数据库MQ等中件间
orgmanax-domain orgmanax-common
orgmanax-server 业务层调用domain与infra实现业务逻辑的编排 orgmanax-api orgmanax-common orgmanax-infra orgmanax-domain

目录层级

.
├── orgmanax-api #提供给二方的功能,包括基础功能、业务功能。
│   └── src
│       ├── main
│       │   └── java
│       │       └── cn
│       │           └── axzo
│       │               └── orgmanax
│       │                   └── api
│       │                       ├── config #配置将Feign接口托管至spring
│       │                       ├── node #部门相关接口
│       │                       │   ├── feign #API
│       │                       │   │   ├── basic #部门基础API创建部门、通过ID查询部门、更新部门、删除部门
│       │                       │   │   └── biz #部门业务相关API具体的实现可以依赖基础API的功能如创建班组部门依赖创建部门等
│       │                       │   ├── req #请求入参
│       │                       │   └── resp #请求出参
│       │                       └── unit #单位相关接口
│       │                           └── feign #API
│       │                               ├── basic #单位基础API
│       │                               └── biz  #单位业务相关API
│       └── resources
│           └── META-INF #SPIservice provider interface)
|
├── orgmanax-common #公共包
│   └── src
│       └── main
│           └── java
│               └── cn
│                   └── axzo
│                       └── orgmanax
│                           └── common
│                               ├── config
│                               └── entity
|
├── orgmanax-domain #领域层
│   └── src
│       ├── main
│       │   └── java
│       │       └── cn
│       │           └── axzo
│       │               └── orgmanax
│       │                   └── domain
│       │                       └── node #部门域
│       │                           ├── entity #实体 可以提供部门的属性(字段)及业务行为(接口),注意:会发生属性变更的操作才适合定义为行为
│       │                           └── gateway #部门相关的操作接口只定义接口具体的实现由infra层实现
│       │                       └── addregate #聚合多个实体的对象和业务操作可以放到该目录下

├── orgmanax-infra #基础设施层主要是对接二方依赖数据库MQ等中件间。依赖domain层
│   └── src
│       ├── main
│       │   ├── java
│       │   │   └── cn
│       │   │       └── axzo
│       │   │           └── orgmanax
│       │   │               └── infra
│       │   │                   ├── config #基础配置如MYBATISPLUS的配置
│       │   │                   └── dao #数据访问层
│       │   │                       └── node #部门相关
│       │   │                           ├── convert #数据转换相关比如将entity转换为数据实体do
│       │   │                           ├── dao #mybatisplus的service实现用于CRUD可与Lambda表达式配合使用。
│       │   │                           ├── DO #数据实体
│       │   │                           ├── gateway # 业务查询防腐层提供给service层使用用于隔离service层与dao层
│       │   │                           │   └── impl #gateway的具体实现可以调用dao完成相关功能也可以作为聚合根获取数据的实现
│       │   │                           └── mapper 
|
└── orgmanax-server #包含mvc的controller与service
    └── src
        ├── main
        │   ├── java
        │   │   └── cn
        │   │       └── axzo
        │   │           └── orgmanax
        │   │               └── server
        │   │                   ├── controller #API
        │   │                   │   ├── node #部门API
        │   │                   │   └── unit #单位API
        │   │                   └── service #业务层调用infra层与domain层完成业务流程的编排
        │   │                       └── node #部门相关业务
        │   │                           ├── basic #基础的公共相关业务功能实现
        │   │                           ├── biz #基础的业务功能可以依赖basic里面的接口     
        │   │                           ├── check #业务校验相关
        │   │                           └── convert #数据转换如将请求REQ转换为领域对象
        │   └── resources
        └── test
            └── java