| └── demo |
| ├── application |
| | ├── assembler # dto与do转换 |
| | ├── dto # 数据传输对象 |
| | ├── event |
| | | ├── publish # 事件发布 |
| | | └── subscribe # 事件订阅 |
| | | |
| | └── service |
| | ├── service # 应用服务接口 |
| | └── serviceImpl # 应用服务实现 |
| | |
| ├── domain |
| | ├── aggregate1 |
| | | ├── event # 存放事件实体,以及事件的具体业务逻辑实现 |
| | | | ├── publish # 发布的具体逻辑(接口 + 实现) |
| | | | └── subscribe |
| | | | |
| | | ├── model |
| | | | ├── entity # 实体 |
| | | | ├── member # 成员对象,相当于do |
| | | | └── do |
| | | | |
| | | ├── repository |
| | | | ├── factory # 工厂(po和do转换) |
| | | | └── facade # 仓储接口 |
| | | | |
| | | └── service # 领域服务 |
| | | ├── domainService # 领域服务接口 |
| | | └── domainServiceImpl # 领域服务实现 |
| | | |
| | ├── aggregate2 # 聚合2 |
| | └── aggregate3 |
| | |
| ├── infrastructure |
| | ├── config # 全局配置 |
| | ├── constant # 常量 |
| | ├── common # 存放消息、数据库、缓存、文件、总线、网关、公用的常量、方法、枚举等 |
| | ├── exception # 自定义异常 |
| | ├── jpa # 持久层 |
| | | ├── assembler |
| | | ├── mapper # 持久层 |
| | | ├── po # 持久对象 |
| | | └── repository # 仓储实现 |
| | | ├── mysql # 仓储实现 |
| | | ├── redis # 仓储实现 |
| | | └── post # 仓储实现 |
| | | |
| | ├── tool # 全局id生成工具等 |
| | └── util # 工具 |
| | |
| └── interfaces |
| ├── validator # dto校验规则 |
| ├── handler # 全局异常处理 |
| ├── assembler # dto转为do |
| ├── vo # 视图模型(根据需求引入VO, PO, DTO, DO) |
| └── facade # 接口 |
| └── demo2 |
| ├── application |
| | ├── assembler |
| | ├── dto |
| | ├── event |
| | | ├── publish |
| | | └── subscribe |
| | | |
| | └── service # 应用服务 |
| | ├── context1 # 按限界上下文划分 |
| | | ├── service |
| | | └── serviceImpl |
| | | |
| | ├── context2 |
| | └── context3 |
| | |
| ├── domain |
| | ├── aggregate1 |
| | | ├── event |
| | | | ├── publish |
| | | | └── subscribe |
| | | | |
| | | ├── model |
| | | | ├── entity |
| | | | ├── member |
| | | | └── do |
| | | | |
| | | ├── repository |
| | | | ├── factory |
| | | | └── facade |
| | | | |
| | | └── service |
| | | ├── domainService |
| | | └── domainServiceImpl |
| | | |
| | ├── aggregate2 |
| | └── aggregate3 |
| | |
| ├── infrastructure |
| | ├── config |
| | ├── constant |
| | ├── common |
| | ├── exception |
| | ├── jpa |
| | | ├── assembler |
| | | ├── mapper # 持久层 |
| | | ├── po |
| | | └── repository # 仓储实现 |
| | | ├── mysql |
| | | ├── redis |
| | | └── post |
| | | |
| | ├── tool |
| | └── util |
| | |
| └── interfaces |
| ├── context1 # 按限界上下文划分 |
| | ├── validator |
| | ├── handler |
| | ├── controller # 接口 |
| | ├── vo # dto、vo |
| | └── wrapper # dto转do |
| | |
| ├── context2 |
| └── context3 |
| # 通常情况下执行逻辑(业务不复杂):controller -> 应用服务 -> 仓储 -> 持久层 |
| # 业务复杂时:展现层 -> 应用服务 -> 领域服务 -> 仓储 -> 持久层 |
| # 每层对应不同的对象(展现层vo、应用层dto、领域层do、持久层po),中间隔了dto是为了vo与do解耦 |
| # 持久化操作应该放在基础层 |
| # member相当于do |
| # 按照DDD分层架构,仓储实现的部分应该属于基础层代码 |
| # 仓储为了解耦领域逻辑和数据处理逻辑,在中间加了薄薄的一层仓储,相当于只是过渡的作用 |
| validator验证注解 |
| docker compose |
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
2021-06-22 git推送文件到gitee
2021-06-22 Node.js入门