2010-12-14 32 views
1

當前我使用web服務來調用數據庫並將對象傳回給我的MVC應用程序。目的是在一張桌子上顯示數據。強烈地從Web服務輸入一個類的視圖?

那麼,如果我只是從Web服務類型的視圖類,或者它應該總是鍵入MVC應用程序內的模型,會更好嗎?如果我在我的應用程序中鍵入模型,那麼我將不得不創建該類的新實例並複製所有信息,這似乎浪費時間。

哪一個被認爲是最佳實踐?從webservice或MVC應用程序中的類強類型的類?

乾杯。

+0

爲什麼你甚至需要一個網絡服務?爲什麼你的控制器不能調用模型/數據庫?你不需要爲mvc應用程序提供web服務,因爲控制器能夠基本返回任何東西(html,xml,json,圖像等)。 – RPM1984 2010-12-14 23:21:19

回答

1

最佳實踐是屏蔽應用程序免受外部變化和您的意見了解應用程序的內部。所以我只是創建一個單獨的類,然後將其映射到Web服務類。你也可以使用像AutoMapper這樣的東西爲你做映射。

1

你不應該從WebService的類的依賴。 MVC的ViewModel被設計成簡單的數據表示。您可以使用AutoMapper輕鬆地將WebService類映射到ViewModel類。這被認爲是最佳做法,並在this book中有所描述。

1

是的。最佳實踐是使用視圖模型而不與域模型耦合 - 一個簡單的DtO。但是,應用於您的域的任何驗證都需要重複。所以有時候,權衡是通過域實體來看待 - 我很樂意這樣做。

在你的情況 - 與DTO一樣,在這裏建議與其他人一樣。