1

在ASP.NET MVC項目上,數據訪問層將在WCF中實現。原因在於這些WCF服務將來會被其他一些客戶端應用程序使用。WCF與ASP.NET MVC - 參考項目

我可以知道是否有任何好的參考項目可以查看。 ,我需要看看重要的事情是:

  • 如何在項目結構
  • 需要遵循的最佳實踐
  • 如何域對象/波蘇斯,DTO的,的ViewModels需組織起來,互相
  • 單元測試之間的溝通方法


所有您的建議/在這些領域的建議高度讚賞


非常感謝你。

+0

我的兩美分是讓BL通過WCF而不是直接通過DAL。 –

回答

2

你會像做任何其他ASP.NET MVC應用程序一樣做。您只需提供一個可調用WCF服務的存儲庫實現。所以基本上你的資料庫界面可能是你拿到了經營合同,當你輸入你的服務:

public interface IProductsService 
{ 
    IEnumerable<Product> GetProducts(); 
} 

ProductIProductsService是從你的WCF服務未來域對象。在實現這個接口的時候,你可以把調用委託給服務本身。至於應用程序的其它部分而言,你的控制器並不真正關心,因爲它們是弱耦合:

​​

非常標準的東西,它是你的控制器看起來應該像無論身在何處,數據來自。正如你可以看到,如果你總是用抽象來設計你的應用程序,你可以很容易地切換這個IProductsService的實現,它將被注入到你的控制器中,並且從ASP.NET MVC應用程序的角度來看,它甚至沒有什麼區別。視圖模型應該是Web UI的一部分,因爲它們與視圖緊密相關。

服務契約和領域模型進入服務層。