我是一個小型組織的.NET Web開發人員。我們在這裏有一些熟練的開發人員,但我們沒有任何人爲更大,更有組織的軟件商店工作。我們做得很好,但是我發現自己想要更好地構建自己的代碼,只需要很少的地方尋求建議。N層體系結構的實際用法
談到這一點。在某些情況下,無論何時我們必須做任何數據訪問,我們組織中的某個人決定使用Web服務。因此,我們的硬件架構的組織是如此,這是我們訪問我們數據庫的唯一途徑。這在理論上聽起來不錯,但問題是我們的大多數應用程序的結果會是這樣:
麪條亂七八糟的代碼在aspx.cs - >但這只是調用存儲過程
除此之外Web服務沒有太多分離。每當我開始嘗試研究更好的結構實踐時,我總結了一些關於依賴注入,骯髒的屬性和階級工廠等事情,我的腦袋開始游泳,然後在挫折中轉向別的東西。
下面是我驚奇的一個基本例子。假設我必須創建一個頁面來從列表中選擇員工,編輯他們並更新數據庫。讓web服務返回一個get對象的Employee對象,並接受一個更新的Employee對象會更好嗎?還是讓Employee對象調用webservice來自填充更好?
換句話說:Employee emp = svc.GetEmployee(42); vs Employee emp =新員工(42);
第二個例子似乎是更好的更新組織(更新相關屬性並調用emp.Update()),但問題是如果我需要獲取Employees列表?執行Employee emp = new Employee(id);將會不一致。對於一個單一的員工,但要做svc.GetAllEmployees()作爲列表。
我感覺自己在散漫,所以我會停止嘗試解釋並希望有人理解我的困惑。我很欣賞任何人都可以提供的建議。謝謝!
感謝您的詳盡解答!在很多情況下,我們做小型項目,這些項目沒有很多業務重疊。我們的大多數跨應用程序代碼(活動目錄訪問,交換服務器訪問)都在Web服務中,雖然我們不使用任何類型的服務總線,但我們至少可以通過這種方式共享信息。再次感謝。 – Landon