我使用ASP.net MVC3作为我的表示层,我的数据访问和业务逻辑通过WCF服务公开。我的控制器应该调用WCF服务,还是应该有更高层次的抽象,如调用WCF服务的存储库。MVC控制器WCF服务
库直接调用服务
public ProductController(IProductRepository productRepository)
{
_productRepository = productRepository;
}
public ProductRepository(ProductServiceClient client)
{
_client = client;
}
服务中的控制器
public ProductController(ProductServiceClient client)
{
_client = client;
}
的仓库类无能为力除了呼叫通过服务公开的方法。
我的做法是,只有当它做一些事情引入额外的层。如果你认为你的客户端逻辑是直接的,那么只需从控制器调用服务并完成它。如果你想在你的客户端引入一个业务层,那么只需要实现“服务层”来编排wcf调用和必要的业务逻辑。 – Roman