【发布时间】:2012-01-14 00:09:32
【问题描述】:
我将 ASP.net MVC3 用于我的表示层,我的数据访问和业务逻辑通过 WCF 服务公开。我的控制器应该调用 WCF 服务还是应该有更深层次的抽象,例如调用 WCF 服务的存储库。
调用服务的仓库
public ProductController(IProductRepository productRepository)
{
_productRepository = productRepository;
}
public ProductRepository(ProductServiceClient client)
{
_client = client;
}
直接在控制器中服务
public ProductController(ProductServiceClient client)
{
_client = client;
}
存储库类除了调用通过服务公开的方法之外什么都不做。
【问题讨论】:
-
我的方法是只在它做某事时才引入一个额外的层。如果您认为您的客户端逻辑是直截了当的,那么只需从控制器调用服务并完成它。如果您想在客户端中引入业务层,那么只有实现协调 wcf 调用和必要业务逻辑的“服务层”。
标签: wcf asp.net-mvc-3