在干净的架构中将实体映射到 CouchDB 文档的正确方法是什么?

问题描述 投票:0回答:1

我想在我的 .NET Core 服务中使用干净的架构方法 - 特别是,将我的实体和聚合与 CouchDocument 模型分开。

如果我理解正确,那么我应该执行以下操作:

  1. 定义 IRepository 接口,其中 TEntity 是实体或聚合。
  2. 实施 CouchDbRepository
  3. 在 CouchDbRepository 中配置 CouchDb 实体和文档的映射 所有这些都是为了避免将依赖项拖入 Core

这可以做到吗?或者有更好的方法吗? 在自定义 CouchDbRepository 中还是通过表达式映射来实现采样规范在哪里更好?

.net mapping automapper couchdb clean-architecture
1个回答
0
投票

使用存储库模式将域和应用程序逻辑与特定存储技术解耦是清洁架构中非常常见的方法。

所以,是的,你的建议似乎很合理。为了不违反 CA 的依赖规则,存储库接口应位于应用程序层,存储库实现应位于框架或 I/O 层。

有关如何在 CA 中正确实现存储库模式的更详细讨论,另请参阅:https://youtu.be/pfhDO_hZixw

© www.soinside.com 2019 - 2024. All rights reserved.