我使用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