2011-12-21 62 views
0

好的,我已經有了這個WCF服務。它具有公共訪問權限,這是主服務本身(HydSQLService),它包含用於訪問數據庫的DataContext。這個DataContext由SQLMetal.exe生成,儘管我創建了一個部分類來填充部分方法。WCF服務的圖層

所以這個問題更多的是關於如何分層這個應用程序。目前,該服務(即公開暴露的位)持有對DataContext對象的引用。它通過這個來訪問SQL數據庫。

我打算在這些服務器端驗證之間添加一個圖層,但我不確定是否缺少圖層或其他東西(我對這一切有點新鮮)。

那麼這是正確的層數?它的結構是否正確,或者我做了一些可怕的監督?建議將受到歡迎。

回答

2

答案是 - 一如既往 - 取決於。

要了解所描述的架構的優缺點,我們需要了解更多關於您正在使用的需求和環境的知識。但是,您擁有圖層的事實可能是件好事。事實上,你正在考慮你的應用程序的這個方面,這絕對是一件好事。

一般情況下,我們添加圖層來解決一些挑戰:

  • 分離的擔憂。有一個圖層處理應用程序的一個方面(並處理好)很少是一件壞事。這允許您撕掉該圖層並替換它,而不用重寫應用程序的其餘部分。
  • 可測試性 - 對隔離層進行測試(例如自動化單元測試)以確保工件正常工作通常是有益的。
  • 摘掉一些常用功能(數據訪問,驗證等)。這可以使應用程序更容易維護。例如,不必在業務對象層中維護一堆數據訪問特定代碼就很好。

這類問題很難在這方面具體回答。你會進行更深入的審查,以獲得你正在尋找的反饋/方向。

+0

謝謝。說實話,我已經陷入了一些問題,而且很難知道要問的確切問題。即使如此,我認爲你已經給了我一個徹底和耐心的答案,我感謝你。我會考慮我的申請,並嘗試制定一些更具體的內容。 – TheFaithfulLearner 2011-12-21 19:04:25