【发布时间】:2019-01-06 20:41:53
【问题描述】:
我已经使用工作单元实现了存储库模式,但存在一些架构问题。
例如,假设我正在创建一个二手汽车零件在线商店。虽然我对我的数据库进行操作,但我也需要对来自不同废料场的远程 API 执行操作,例如需要运行搜索、可用性更新等等...
我决定尝试工作单元和存储库模式
做的事情大多像 Mosh Hamedani 但针对 asp.net core 2.1 From videos like this one
只要我使用 EF(或其他东西与 DB 进行通信),工作单元和存储库就可以正常工作并且有意义,但是如果我要通过不同的 Web api 获取一些数据就没有多大意义. (例如,从处理和重试相似但不同的不同 API 获取市场上的汽车列表 - 我正在按键检索同一接口的不同实现)
第一 我不喜欢我的工作单元中所有存储库的所有实例,但在大多数情况下只需要一个。我知道它有助于重用上下文事务而不将其包装在我自己的中,但仍然有不必要的实例很愚蠢。
第二 我应该在存储库和工作单元内实现远程 api 的检索逻辑和处理,还是放弃工作单元并做其他事情?只保留存储库? (曾经有人提到我不熟悉的外观模式)
我倾向于过度设计事物,现在我很困惑。任何见解都是有帮助的。
【问题讨论】:
标签: unit-testing asp.net-core repository-pattern unit-of-work