Repository Pattern可以与webapi一起使用



假设我们有一个名为IAccountRepo的接口和一个实现该接口的类,该接口名为AccountDbRepo,用于调用SQL。

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

知道具体的类进行web api调用,IAccountRepo的命名正确吗?我们应该将回购重命名为服务吗?

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

对接口进行编程的全部目的是,您应该能够用另一个实现替换一个实现,而不会改变系统的正确性。这也被称为利斯科夫替代原则。

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

因此,您不应该因此而重命名接口。正如Robert C.Martin在《敏捷原理、模式和实践》一书中所解释的,"客户[…]拥有抽象接口"(第11章)。因此,您应该根据客户端对接口的感知来命名接口,而不是根据接口的实现方式。

相关内容

最新更新