2009-01-03 8 views
6

Ich entwickle derzeit mit Django, aber ich möchte bereit sein, wenn ein zukünftiger Client unweigerlich eine Site anfordert, die in ASP.NET MVC ausgeführt wird. Während die Struktur und der Ablauf von ASP.NET MVC mehr oder weniger mit Django und RoR identisch sind, ist der eine Teil, über den ich nicht sicher bin, die Apps-Methode, die Django verwendet, um die Wiederverwendung von Code zu vereinfachen.Django-Apps entsprechen in ASP.NET MVC?

Gibt es ein Äquivalent zu Django-Apps in ASP.NET MVC? Das heißt, kann ich ein Feature wie Tagging, Kommentare, Veranstaltungskalender, einfaches Blog usw. erstellen und bündeln, sodass es für andere Projekte portierbar ist, mit einem Minimum an Klebecode, der für die Integration benötigt wird? Vielleicht eine Art Plugin oder Modulsystem?

Antwort

6

Django folgt nicht dem traditionellen MVC-Muster, da sie befürworten, dass ihr MTV in der Web-Welt besser geeignet ist. Insgesamt bevorzuge ich Django über Rails wegen der Django-Apps. Sie können fast dasselbe in RoR mit den Plugins des Rails-Herstellers tun, aber es ist nicht das Gleiche.

ASP.NET folgt RoR-Struktur, und daher haben Sie nicht die wiederverwendbaren Anwendungen. Wenn Sie die Ordnerstruktur in einem MVC-Projekt überprüfen, finden Sie nicht einmal den RoR-Plugin-Ordner, also sollten Sie VisualStudio-Like machen.

Erstellen Sie eine wiederverwendbare App, die als separates Projekt Referenzen für das Projekt in Ihrem Hauptprojekt enthält, und leiten Sie in Ihrer Routendatei einfach zu den Controllern des anderen Projekts um.

+0

Gute Antwort. Ich sah die ASP.NET MVC-Ordner-Layouts in einigen Tutorial-Videos und fragte mich sofort, ob ich sie mit überlappenden Apps überladen musste. Die Methodik von VS Projects ist solide und verständlich, daher bin ich zufrieden. – Soviut

+0

ASP.NET MVC2-Support-Bereich, der eine Art wiederverwendbare Apps ist. –

1

wir etwas ähnliches tun, wenn auch aus einem anderen Blickwinkel ausprobiert haben. Wir verwenden kompositorische Controller für eine erhöhte Wiederverwendbarkeit in bistro und einen ndjango als Templatsprache. Was wir zu sehen beginnen, ist, dass Controller granularer werden und dadurch weniger davon abhängen, wo sie sich befinden - besser zu komponieren.