2012-10-25 64 views
1

在N層應用程序中,我的網站連接到Web引用以訪問業務層邏輯並獲取業務層DTO。例如,BL可能會提供一個汽車的定義:在我的ASP.NET MVC網站中,我需要創建自己的汽車模型對象。 (也許添加/刪除一個字段或通過數據註釋添加驗證)。如何處理從業務層到表示層的名稱衝突映射?

因爲我的名字空間Car中已經有一個對象,所以我需要命名我的模型對象。儘管如此,對象實際上並沒有更好的名稱。有沒有更簡單的方法來處理這些名稱衝突?另外,我可以完全限定模型,但這似乎並不理想。

另一種可能性,我可以使用BL中的對象,但擴展它,以便我可以添加數據註釋以進行驗證?

回答

1

我已經看到人們簡單地將Model附加到這些類中,當他們在他們的MVC應用程序中處理它們時。在你的情況下,這個類將是CarModel

至於擴展對象,我不會推薦將業務層對象泄漏到表示層,因爲如果數據發生更改,稍後會遇到麻煩。不必在每個地方使用數據來更改演示代碼,只需要在從CarCarModel的轉換中更改演示代碼將更加容易。

+0

我目前的解決方法就是將DL模型添加到DL對象中。問題是它有點減少了代碼的可讀性,再加上考慮到應用程序的性質,「CarModel」與汽車模型(即Murcielago)模糊不清/混淆。 –

+0

您可以附加'ViewModel',但開始有點冗長。您的表示層中是否有大量複雜的代碼? – Kazetsukai

相關問題