2009-01-23 66 views
7

我創建了一個.NET winforms MVC。控制器和視圖在相同的EXE中。模型在一組由幾個組使用的DLL中。 MVC非常明確。模型對控制器和控制器一無所知。我正在考慮將Controller放在它自己的DLL中,以便它可以進行單元測試。高度不像有人會重用控制器。單元測試是我有移入DLL的唯一原因。MVC控制器應該在單獨的DLL中嗎?

從概念上講,控制器應該總是與視圖位於同一個組件中嗎?什麼是阻止他們在一起的原因?

回答

5

控制器和視圖的分離是一個抽象的概念。沒有嚴格的規定,你應該將它們分開(就像三層應用程序中的層)。但是這兩種方法都可能有一些優點。

分離組件具有以下優點:

  • 降低的可能性,對控制器和斷裂分離偶然夫婦視圖。
  • 無需重新編譯控制器就可以更輕鬆地編輯視圖(從部署的角度來看這非常棒)。
  • 建築物視圖和控制器變得分離,所以即使其中一個根本不構建,也可以測試其中的一個。

但是,對於小型項目來說這可能是不可行的。對於非常小的項目,您可能想要發佈一個可執行文件,而不是其他任何文件。另外,您可能不想創建3個獨立的項目。嘿,你可能不想單元測試它;)哎喲,我的頭受傷了,這塊大塊磚從哪裏來? :))

相關問題