gpt4 book ai didi

design-patterns - 存储库模式可以与 webapis 一起使用吗?

转载 作者:行者123 更新时间:2023-12-03 23:36:19 24 4
gpt4 key购买 nike

假设我们有一个名为 IAccountRepo 的接口(interface)和一个实现此接口(interface)的类,名为 AccountDbRepo,它调用 SQL。

现在我们必须用 AccountWebApiRepo 替换这个具体类 (AccountDbRepo),这意味着这个类将在 webapi 中进行操作。

IAccountRepo 的命名是否正确,知 Prop 体类进行 web api 调用吗?我们应该将 Repo 重命名为 Service 吗?

编辑:现在,如果您必须创建第二个接口(interface) ICarRepo 并且您知道实现将调用 webapi。将其命名为 Repo 是否正确?

最佳答案

接口(interface)编程的全部意义在于,您应该能够在不改变系统正确性的情况下用另一种实现替换一种实现。这也称为 Liskov Substitution Principle .

因此,如果您要根据具体实现重命名您的接口(interface),那将是一个泄漏抽象

因此,您不应该因此而重命名您的界面。正如 Robert C. Martin 在 Agile Principles, Patterns, and Practices 中解释的那样, “客户 […] 拥有抽象接口(interface)”(第 11 章)。因此,您应该根据客户端感知它的方式命名接口(interface),而不是它的实现方式。

关于design-patterns - 存储库模式可以与 webapis 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23251254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com