2012-04-24 76 views

回答

0

我不確定這個問題是否有簡單的是或否的答案。我認爲你的項目必須非常非常大,才能對你的單元測試產生影響。我的個人觀點是將控制器與視圖和視圖模型一起留在Web項目中。不過,我很樂意將模型轉移到單獨的項目中。我這樣做的原因與簡單的單元測試有關,而是在其他應用程序中重用數據訪問(模型)。

0

在我看來,你應該總是至少控制器從您的視圖項目(通常是我的一個web項目)分開,因爲這個想法是,控制器應能與各種視圖中使用(也許以後你決定例如,將它們用於Windows窗體項目)。它使命名空間也更清潔一些。

+0

Kad81,其實這也是我在想什麼,我在網上搜索來獲得如何做到這一個教程,但我失敗了,也有一些,但它是很難理解。我希望你能寄給我一些關於這種方法的鏈接。 :) – user335160 2012-04-24 03:43:12

+0

我看到你正在使用ASP.NET MVC ...對不起,我實際上沒有太多使用該特定框架的經驗。我同意很好的例子很難得到。在這種情況下,我的一般建議是考慮應用程序的大小以及組件(如控制器)的可用性。如果它可能是一個相當小的,自包含的網絡系統,那麼它放在哪裏可能沒有太大的區別。你以後也可以隨時移動東西(儘管有時會伴隨一些痛苦)。 – kad81 2012-04-24 04:17:32

+0

是的,的確如此。 – user335160 2012-04-24 05:42:56

0

起初這看起來不錯。在中間創建一個預覽圖層,並讓您的MVC項目只包含視圖,使其成爲一個真正的UI項目。另一方面,您可能會失去對視圖的工具支持。由於您必須忽略所有警告,因此您必須確保所有視圖都存在,並強制鍵入您的對象。

我不明白,在您的測試套件引用你的MVC項目的問題,因爲你可能會在MVC命名空間帶來反正。

0

從我的角度來看,讓你搬出控制器到一個單獨的項目有兩個需要考慮的事情,如果你這樣做的話,就強制你去思考如何解決低耦合和精確的低耦合類問題可以比緊耦合類更容易被測試。

另一方面,將控制器放置在與視圖相同的項目中是有邏輯的,因爲控制器通常知道視圖。

如果你想重用的可能有一些值得商榷的,因爲這裏經常控制器「膠水」的組件,這意味着,有很多在他們的佈線。

+0

我同意你的看法,我認爲有很多工作需要專門將它們連接到視圖中。我是MVC的新手,對我來說,使用這種技術製作一個好的架構非常混亂。 – user335160 2012-04-24 03:37:28

+0

你用什麼框架btw? – 2012-04-24 03:41:54

+0

4.0,我正在使用MVC 3. – user335160 2012-04-24 03:43:53

相關問題