您好我们有第三方应用程序,它公开了用于构建网站的Web服务。它处理创建会话,获取产品数据,购物车以及检出对数据库的调用。我是MVC的新手,我的问题是我如何将这个web服务工作到我正在构建的mvc网站中,我也希望利用测试。我无法更改对数据库的访问权限,我必须使用Web服务。
谢谢! 乔恩
答案 0 :(得分:1)
我通常使用服务模式处理数据访问。在你的情况下,我有一个像IProductsService这样的接口,通常的方法是GetProducts(),GetProduct(id)......等等。通过对该接口进行编码,您的控制器将不关心数据的来源,因此您将声明并使用您的依赖项
private IProductsService _productsService
...
IEnumerable<Products> products = _productService.GetProducts();
这对于测试目的来说非常方便,因为对于IoC,您可以根据您的测试用例注入不同的服务(例如,返回硬编码列表)。最终,如果你们切换到不同的策略并直接访问数据存储,你只需要创建一个新服务,实现接口并注入该接口。