使用存储库模式实现web服务的正确方法是什么?

本文关键字:方法 是什么 服务 web 存储 模式 实现 | 更新日期: 2023-09-27 18:05:27

我即将开始一个项目,这将需要一个网站,连接到一个web服务。web服务将从数据库中检索数据,并将其返回给网站。

我的问题是关于如何正确地将业务关注与数据访问分开。

服务可以通过使用存储库模式来分离。然后在服务调用实现中,我可以以实体的形式从存储库中获得所需的数据,然后通过网络返回它。

同样,我可以在网站上做同样的事情。使用存储库隐藏从服务获取数据并将其序列化为一个或多个实体的实现细节。

然而,我对这种方法的主要问题是,服务和网站都将有其实体的定义。是否有一种模式可以让我一次定义这些实体,或者这种体系结构是否偏离了常见的/最佳实践。

我应该提到我使用的技术是asp.net和c#,我没有使用实体框架

使用存储库模式实现web服务的正确方法是什么?

在同一个解决方案中为它创建一个WCF数据服务和一个客户端。Visual Studio将支持在客户端使用你在服务端定义的类和模型。

好处:如果您正确使用了这个概念,IQueryable将可以被编组到客户端(而不是结果),因此您甚至可以在客户端执行特殊查询(假设您的存储库的方法返回IQueryable),只是结果将在网络中传播。这对于分页场景也很重要。

从这里开始阅读