ASP.NET MVC: Keine Präsentations-Belange im Controller
4 Kommentare Eingestellt von Sebastian Jancke um 18:38Als ich heute diesen Blogpost laß, kam mir unweigerlich folgender Gedanke:
Was hat man uns mit den ASP.NET MVC Beispielen angetan?
Das Problem: Der Titel einer HTML-Seite ist ein Präsentations-Belang der nur durch die View gesteuert und gesetzt werden sollte. Ein Controller sollte nichts darüber wissen. Oren Eini hatte bereits vor einiger Zeit darauf hingewiesen. Aber was nützt es, wenn erst einmal ein schlechtes Beispiel von vielen gelesen worden ist. Da heißt es wohl: dagegen anschreiben.
Ich gebe zu, dies in ersten Tests auch aus den Beispielen übernommen zu haben. Mittlerweile bin ich aber dazu übergegangen, sämtliche vorgeschlagenen Modifikationen umzusetzten. Dies bedeutet, das ViewData.Model passé ist, ViewData der Controller nicht mehr nutzbar ist und Titel durch die View gesetzt werden (durch asp:Content). Somit sind Präsentations- und Kontroll-Belange sauber getrennt und das Modell nur noch streng typisiert verfügbar.
ViewData.Model.SiteMasterViewData.Title
ist jenseits von Clean Code und Lesbarkeit. Letzteres ist es schließlich für mich, was sauberen Code vor allem ausmacht.
Tags: alt.net, asp.net mvc, dotnet, readability
Am 26.01.2009 finded das zweite Online Meeting der ALT.NET DE statt (danke Albert!). Albert hat mich gebeten, einen Vortrag zum Thema Domain Driven Design zu halten.
Diesmal habe ich mir überlegt, weniger Focus auf die Patterns (und ihre wörtliche Repräsentation) zu legen und zunächst mehr Raum für offene Fragen und Probleme rund um die Basis (UL, Domänenexperte) zu haben. Anlass waren die letzten Diskussion auf der DDD-Mailingliste in denen klar wurde, das selbst der "Domänenexperte" an sich nicht immer leicht zu identifizieren ist, geschweige denn jeder Zugang dazu hat. Im Anschluss an dieses Fundament möchte ich diskutieren, welchen Rahmen Architektur schaffen muss/sollte/kann um die Arbeit mit und an einem Domänenmodell zu erleichtern.
Als Basis soll ein fiktives (aber für mich aktuelles) Beispiel zum Thema "Order Processing" dienen.
Ich erhoffe mir, dass der Vortrag Anregung zu Fragen und vor allem auch Diskussion des Themas gibt.
Tags: ddd, domain driven design, dotnet