2009-01-23 14 views
7

Utworzono MVC .NET WinForm. Kontroler i widok znajdują się w tym samym EXE. Model znajduje się w zestawie bibliotek DLL, które są używane przez kilka grup. MVC jest bardzo wyraźny. Model nie wie nic o sterowniku, a kontroler nic nie wie o widoku. Zastanawiam się umieścić kontroler we własnej bibliotece DLL, aby można było przetestować urządzenie. Bardzo odmiennie, jak ktoś ponownie użyje kontrolera. Testowanie jednostkowe jest jedynym powodem Mam do przeniesienia do biblioteki DLL.Czy kontroler MVC powinien znajdować się w oddzielnej bibliotece DLL?

Konceptualnie, czy kontroler zawsze powinien znajdować się w tym samym zespole, co widok? Jakie są powody/przeciw utrzymaniu ich razem?

Odpowiedz

5

Rozdzielenie kontrolerów i widoków to pojęcie abstrakcyjne. Nie ma ścisłej zasady, że należy fizycznie je rozdzielać (tak jak poziomy w aplikacji trójwarstwowej). Jednak w obu metodach mogą występować pewne korzyści.

Oddzielenie zespołów ma następujące zalety:

  • zmniejsza możliwość przypadkowo kilka widoki na kontrolerów i łamanie separacji.
  • Ułatwia edytowanie widoków bez rekompilacji kontrolerów (co jest wspaniałe z perspektywy wdrożenia).
  • Widoki budynków i kontrolery zostają rozdzielone, więc możesz przetestować jeden z nich, nawet jeśli drugi w ogóle nie tworzy.

Jednak dla małych projektów może być niewykonalne. W przypadku bardzo małych projektów możesz wysłać pojedynczy plik wykonywalny i nic poza nim. Poza tym możesz nie chcieć tworzyć 3 osobnych projektów.

Hej, możesz nie chcieć tego w ogóle przetestować;) Ouch, moja głowa jest zraniona, skąd wzięła się ta duża cegła? :))

Powiązane problemy