知识卡片
代码模型的命名空间应反映系统分层与菱形对称架构
内容
EAS代码模型据系统分层架构与菱形对称架构划分模块:以项目名为前缀命名限界上下文模块(eas-training);命名空间以context为后缀、用valueadded表示属业务价值层;message为消息契约对象(发布语言模式,亦可命名pl);northbound北向网关(开放主机服务,亦可ohs),内含remote(resource/controller/provider/subscriber)与local,以及appservice应用服务;domain领域层内部按聚合边界划分命名空间,聚合内实体/值对象/领域服务同处一命名空间,协调多聚合的领域服务放主要聚合的命名空间;southbound南向网关(防腐层,亦可acl),含port(repository/client等抽象)与adapter(对应实现)。发散:让包结构直接映射架构层次与聚合边界,架构约束就从文档变成了编译期可见、评审可查的物理事实。
参考来源
- 位置:《解构领域驱动设计》第20章 20.3.5(源文件:_epub-src/OEBPS/033.xhtml)
- 结论依据:原文详列EAS代码模型各命名空间与架构层次/网关角色的对应关系。
- 原始内容:各个限界上下文在系统分层架构所处的层次,也通过包的命名空间清晰地呈现出来了。