【发布时间】:2016-07-31 07:58:54
【问题描述】:
我试图在我的设计中遵循 DDD 原则,并且我试图保持我的域实体干净。我必须创建序列化程序类(它使用 json.net),但我不知道把它放在哪里。 我考虑了以下选项:
- 创建一个公用事业项目很容易,但它只会在洋葱中产生一个尖峰。
- 它有点类似于存储库,因为它包含实际实现并具有依赖关系(就像 repo 使用 EF),但它不存储对象,只是转换它。
- 它不是域服务,因为它不包含业务逻辑
- 将其放入应用程序或 UI 等外层对我来说没有太大意义。
这是我的项目结构:
网络
应用
域服务
存储库
领域模型
【问题讨论】:
-
它是基础架构的一部分(存储库和其他外部服务,如果您需要的话)
-
我很确定,因为基础设施是最顶层(或环),层应该只使用它们下面的那些。也许如果我创建一个接口并将其放在应用程序核心的某个地方,并将实现放在可以工作的基础设施中。你怎么看?
标签: architecture domain-driven-design