我有asp.net mvc 2應用程序。我有混淆創建DTO和域實體。DTO和域對象,WCF以及數據庫層交互
MVC控制器集成點: 1)第三方WCF 2)DB層
WCF返回一個特定公司的人員信息和公司的一些信息。
我已經生成了WCF的代理並在代理上編寫了一個服務包裝器。 服務包裝器正在與WCF通話並將結果映射到DTO類ContactsDTO 服務層處於不同的項目中。
以下是我的領域類
Company
Person
DTO class
//it contains
class ContactsDTO
{
Person person, Company[] company
}
控制器操作調用與companyID包裝,並得到DTO類的對象。 並從dto更新公司信息。它會更新Session中的公司信息並將公司[]數組傳遞給其他一些操作。
DB互動:
現在根據一些業務邏輯,我必須插入人-ID和公司ID與數據庫中的其他一些信息。
此我已經建立另一個
class DBDTO
{
Person person, Company[] company, OtherInfo otherInfo[]
}
此DBDTO製備並傳遞給DB層(這是使用LINQ到SQL)。
問題
是它寫的方法做。 DTO互動有何改進?什麼都 的變化,我可以做,以改善整體架構
DTO,因爲它的名稱是數據傳輸對象。它應該僅用於傳輸,不應封裝域對象和數據庫對象。也就是說,你的數據庫層可能有一些特定的對象,例如直接映射到/到DTO的DBObject,而客戶端的DTO直接映射到/到客戶端對象,例如ClientEntity。是的,有很多的基礎設施代碼和映射,但最終你會得到乾淨,獨立的客戶端和數據庫層域對象代碼。 – Algirdas