1
我們正在啓動一個新的Web應用程序,並且我們決定使用N-Tier設計。DAL與BLL之間的傳輸對象
對於圖層之間傳輸數據的對象(DTO),我們有一些不同意見,其中應該有方法嗎?
如果是組織來自2個數據庫的數據,我們是否應該爲每個對象的所有圖層創建一個DTO?標準是什麼?
我們正在閱讀微軟的網頁應用程序設計。
我們正在啓動一個新的Web應用程序,並且我們決定使用N-Tier設計。DAL與BLL之間的傳輸對象
對於圖層之間傳輸數據的對象(DTO),我們有一些不同意見,其中應該有方法嗎?
如果是組織來自2個數據庫的數據,我們是否應該爲每個對象的所有圖層創建一個DTO?標準是什麼?
我們正在閱讀微軟的網頁應用程序設計。
DTO對象通常是一個數據容器,沒有任何行爲。使用DTO對象實現層之間的映射有很多方法。
你可以有一些指引,閱讀有關DTO從MS模式&實踐團隊的文章:http://msdn.microsoft.com/en-us/library/ff649585.aspx
關於被如此另一個的ressource:How to effectively use DTO objects (Data Transfer Objects)?
你也可以有一個工作項目樣本「一看Microsoft - 面向領域的N層.NET 4.0應用示例「:http://microsoftnlayerapp.codeplex.com/其中使用了許多模式,也使用DTO。
我們有一個叫做網站的對象,它的數據是由2個數據庫組成的(是的,我知道它很糟糕 - 舊的架構),同時由用戶創建一個新的數據庫,我們調用一個方法來設置一個內部對象的數據另一個數據庫),我不喜歡它在DTO/POCO中,我希望它在BLL中,但它的對象結構應該在DAL中嗎?有沒有這種方法是正常的,它可以作爲dao中的util方法嗎?你怎麼看? – guyl
我的建議是保持簡單和愚蠢(KISS)。我喜歡保持我的分離關切。在最簡單的場景中,我們有DAL層和領域層。該域沒有任何引用。 DAL知道域,所以當我可以實現映射或輔助方法時,它是唯一的層。在你的情況下,你可以用第三方框架或定製的幫助器方法填充網站對象的數據,但我認爲最好將它保存在你的dal中。 「不管」它是如何完成的,因爲重要的事情是在哪裏完成的。 –