Command - marmot-cn/marmot-framework GitHub Wiki
命令
我们是按照CQRS的设计思路统筹代码. 我们使用命令来在最外层封装针对用户的各个调用. 即我们把用户对网站的任何操作(非查询), 都统一抽象为各个命令.
这样的好处:
- 统一沟通语言, 我们使用命令来统一命名用户对网站的操作
- 统一日志入口, 我们对网站的操作日志统一围绕命令这层进行封装
注意命令和领域模型的函数一一对应的, 因为可能:
- 一个命令对应一个领域服务(同时对应多个领域模型)的
public
函数 - 一个命令对应多个领域模型(一个领域模型可能也包含其他领域模型的操作)的
public
函数 - 一个命令对应一个领域模型的
public
函数