| DCI是数据Data 场景Context 交互Interactions的简称 |
| DCI是一种特别关注行为的模式(可以对应GoF行为模式) |
| 而MVC模式是一种结构性模式,MVC模式由于结构化,而可能忽视了行为事件 |
| |
| User Interface是用户接口层,主要用于处理用户发送的Restful请求和解析用户输入的配置文件等,并将信息传递给Application层的接口 |
| Application层是应用层,负责多进程管理及调度、多线程管理及调度、多协程调度和维护业务实例的状态模型; |
| 当调度层收到用户接口层的请求后,委托Context层与本次业务相关的上下文进行处理 |
| Context是环境层,以上下文为单位,将Domain层的领域对象cast成合适的role,让role交互起来完成业务逻辑 |
| Domain层是领域层,定义领域模型,不仅包括领域对象及其之间关系的建模,还包括对象的角色role的显式建模 |
| Infrastructure层是基础实施层,为其他层提供通用的技术能力:业务平台,编程框架,持久化机制,消息机制,第三方库的封装,通用算法 |
| └── demo |
| ├── application |
| | ├── assembler |
| | ├── dto |
| | ├── event |
| | | ├── publish |
| | | └── subscribe |
| | └── service |
| | |
| ├── context # 环境层 |
| | |
| ├── domain |
| | ├── object |
| | | ├── aggregate1 |
| | | └── aggregate2 |
| | | |
| | └── role |
| | ├── role1 # 接口 + 实现类 |
| | └── role2 |
| | |
| ├── infrastructure |
| | ├── config |
| | ├── common |
| | └── uitl |
| | |
| └── interfaces |
| ├── validator |
| ├── handler |
| ├── assembler |
| ├── vo |
| └── facade |
| context相当于应用层,object相当于领域层 |
| role:显式地对领域对象(Object)在每个业务场景(Context)中扮演(Cast)的角色(Role)进行建模 |
| Role代表了领域对象在业务场景中的业务行为(“做什么”),Role之间通过交互完成完整的义务流程 |
| 对Role的建模应该是面向Context的,我们就能够将领域对象的方法拆分出去 |
| 在role中编写领域对象的具体业务,context则是对业务逻辑的的编排 |
| 上帝类就是包含了太多的职责的实体类 |
| 上帝类违反了单一职责原则,会导致代码的可维护性变得极差 |
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术