7

Ich habe eine .NET Winforms MVC erstellt. Der Controller und die View befinden sich in derselben EXE. Model befindet sich in einer Reihe von DLLs, die von mehreren Gruppen verwendet werden. Die MVC ist sehr explizit. Modell weiß nichts von Controller und Controller weiß nichts von View. Ich denke, den Controller in seine eigene DLL zu setzen, damit es Unit-getestet werden kann. Ganz anders als jemand wird den Controller wiederverwenden. Unit-Test ist der einzige Grund, Ich habe für den Umzug in eine DLL.Sollte MVC Controller in separaten DLL sein?

Konzeptionell sollte der Controller immer in der gleichen Baugruppe wie der View sein? Was sind Gründe dafür/dagegen, sie zusammenzuhalten?

Antwort

5

Trennung von Controllern und Ansichten sind ein abstraktes Konzept. Es gibt keine strikte Regel, die Sie physisch getrennt halten sollten (genau wie Ebenen in einer dreistufigen Anwendung). Es könnte jedoch einige Vorteile in beiden Ansätzen geben.

Trennzusammenbauten hat folgende Vorteile:

  • Verringert die Möglichkeit, versehentlich Paar Blick auf Controller und die Trennung zu brechen.
  • Erleichtert das Bearbeiten von Sichten, ohne dass Controller neu kompiliert werden müssen (was aus der Bereitstellungsperspektive sehr nützlich ist).
  • Gebäudeansichten und Controller werden getrennt, so dass Sie einen von ihnen testen können, selbst wenn der andere überhaupt nicht erstellt wird.

Allerdings könnte es für kleine Projekte nicht durchführbar sein. Bei sehr kleinen Projekten möchten Sie vielleicht eine einzige ausführbare Datei und nichts anderes mehr verschicken. Außerdem möchten Sie möglicherweise nicht 3 separate Projekte erstellen.

Hey, du willst es vielleicht gar nicht testen;) Autsch, mein Kopf ist verletzt, woher kommt dieser große Stein? :))

Verwandte Themen