Skip to content

Commit

Permalink
feat 优化模型即代码的文档
Browse files Browse the repository at this point in the history
  • Loading branch information
gaozhiyi committed Dec 11, 2023
1 parent 491d72d commit e1ecb42
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 17 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,33 @@
- 代码的结构
- swagger 测试

### 使用idea插件生成代码
## 使用idea插件生成代码

- 具体请参见 [IDIA插件集成](../../操作指南/应用开发平台/IDEA插件集成.md)

### 代码的架构
## 代码的架构

- cola 架构

- adapter
![1702262211025](images/1702262211025.png)







- **adapter**
- 按业务域进行分包

- 按业务场景进行分包
- 存在的`api`接口
- controller的`api`接口

> 适配层(Adapter Layer):负责对前端展示(web,wireless,wap)的路由和适配,对于传统B/S系统而言,adapter就相当于MVC中的controller;


**按业务域进行分包**
**按业务域进行分包**

- 请假
- 审批规则
Expand All @@ -39,34 +48,81 @@

![1702202136736](images/1702202136736.png)

**标注化代码生成**


**controller的`api`接口**

> controller标准化代码生成
![1702202185998](images/1702202185998.png)



- app




- **app**

- 业务场景的应用服务
- 业务域的应用服务

> 应用层(Application Layer):主要负责获取输入,组装上下文,参数校验,调用领域层做业务处理,如果需要的话,发送消息通知等。层次是开放的,应用层也可以绕过领域层,直接访问基础实施层


**业务场景的应用服务**

![1702202251348](images/1702202251348.png)

- 业务与的应用服务

![1702202353571](images/1702202353571.png)

- client


**业务域的应用服务**

![1702202353571](images/1702202353571.png)







- **client**

> Client模块(Client Module):包含的代码应该是常见的服务接口Facade和DTO数据传输对象,如API、DTO、领域事件、Command和Query对象等等
![1702202372380](images/1702202372380.png)

- domain








- **domain**

> 领域层(Domain Layer):主要是封装了核心业务逻辑,并通过领域服务(Domain Service)和领域对象(Domain Entity)的方法对App层提供业务实体和业务逻辑计算。领域是应用的核心,不依赖任何其他层次;
![1702202511502](images/1702202511502.png)

- infrastructure








- **infrastructure**

> 基础实施层(Infrastructure Layer):主要负责技术细节问题的处理,比如数据库的CRUD、搜索引擎、文件系统、分布式服务的RPC等。此外,领域防腐的重任也落在这里,外部依赖需要通过gateway的转义处理,才能被上面的App层和Domain层使用。
![1702202540222](images/1702202540222.png)

### swagger 测试
## swagger 测试

运行即显示swagger 地址进行测试。可直接链接数据库
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@



### 业务场景的文档评审
## 业务场景的文档评审

> 在业务场景层面达成一致, 关联人员: 业务,产品, 架构师, 开发人员, 测试
Expand All @@ -23,7 +23,7 @@

![1702200573002](images/1702200573002.png)

### 领域模型文档的评审
## 领域模型文档的评审

> 包含了,查询模型, 数据模型, 聚合 之间的关系的检查与补充-
Expand All @@ -33,7 +33,7 @@



### 业务域设计文档的评审
## 业务域设计文档的评审

> 包含了,对这个业务模块的整体的设计思路,目标愿景, 模型图,接口 等的评审
Expand All @@ -48,7 +48,7 @@



### 应用的文档评审
## 应用的文档评审

> 应用文档是针对于多个业务文档和业务场景文档的集合,一个应用一般等于一个限界上下文
Expand Down

0 comments on commit e1ecb42

Please sign in to comment.