【问题标题】:.NET Repository Pattern and Http Requests.NET 存储库模式和 Http 请求
【发布时间】:2021-12-09 13:19:30
【问题描述】:

我试图 100% 了解 .NET 世界中的架构模式。据我所知,Repository Pattern 的 Repository 主要代码通常是在基础设施层创建的,用于数据访问,不仅对数据库,而且对其他情况也是如此。直到今天,我只看到它用于访问数据库,但如果可能的话,我想看看使用 Repository 类时的多个其他示例。

例如,现在,我正在构建一个应用程序,该应用程序向多个其他 API 发出 Http 请求。我有一个域/核心层和一个基础设施层。在这种情况下,Http Requests 类的最佳实践是什么? HttpRequests 通信类是否应该有存储库?或者在这种情况下还有其他模式可以遵循吗?

如果可能的话,有人可以就这个主题提供一些更详细的材料,我将不胜感激。我已经搜索了很多,我能找到的总是同一个数据库,只与存储库访问相关。

【问题讨论】:

    标签: .net architecture repository-pattern


    【解决方案1】:

    不确定这种用例的最佳实践是什么,但最近我构建了类似的东西。所以基本上我在基础设施项目中有一个名为 externalRepositories 的文件夹,其中主要包含三件事(每个主机):

    SomeHostHttpClient - 在您的情况下可能不一定,但我将其用于身份验证,在 401/403 的情况下重试并记录请求/响应

    SomeHostExternalRepository - 处理主机的 api 请求,检查响应并反序列化对象。

    SomeHostMappingService - 用于从响应 dto 映射到实体,并向 db 请求引用等。可能这应该在外部存储库中,因为私有 merhods 和 repo 应该返回实体,我只是想通过它们的职责将这两者分开。但现在它引入了一些混淆和额外的实现知识

    并不是说它是正确的解决方案,只是分享我在这个主题中的经验。

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2016-04-26
      相关资源
      最近更新 更多