Als 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.

4 Comments:

  1. Anonym said...
    Hallo Sebastian,
    der Einwurf mit den Titel ist gut und werd ich sicherlich auch so umsetzen.
    Bei dem Beispiel ging es allerdings nicht nur um den Titel, sondern generell um das Thema. Da ich selber mit der Lösung nicht ganz zu Frieden war, hab ich ja auch um Feedback gebeten.

    Allerdings anstatt nur zu sagen, dass es schlecht ist und auf Oren zu verweisen, hätte man dies auch in 2, 3 Sätzen etwas hinterlegen können, was und warum man dies so oder so macht.
    AlexOnASP.NET said...
    Bei dem Posting von Oren sollte man vor allem auch die Kommentare lesen.
    Anonym said...
    Das Posting ist ziemlich herablassend.

    Wie man auch den Kommentaren im verlinkten Post entnehmen kann, gibt es hier nicht *die* Wahrheit. Manchmal kann etwas weniger Dogmatismus nicht schaden.

    Just my 2 cents.
    Sebastian Jancke said...
    Robert, ich habe es ja selbst zunächst "einfach so" gemacht. Ich bin aber mehr und mehr der Meinung, dass es wichtig ist gute Beispiele zu bringen und auch auf solche Details zu achten. Man sieht es an vielen "nicht so tollen" Beispielen zu NH und auch zu WebForms und WinForms (gerade auch bei Microsoft/MSDN). Davon kopieren unglaublich viele Leute und übernehmen dann solche Dinge ohne sich eines Problems bewusst zu sein.

    @Thomas: Ich bin da grundsätzlich ziemlich unpersönlich und schmerzfrei wenn es um Technik geht. Das Problem liegt im Grund ja auch nicht in Robert's Post sondern bei den Microsoft-Beispielen. Darauf bezog sich auch "Was hat man uns mit den ASP.NET MVC Beispielen angetan?". Der verlinkte Post war nur Auslöser, nochmals auf das Problem hinzuweisen.

Post a Comment




 

Copyright 2006| Blogger Templates by GeckoandFly modified and converted to Blogger Beta by Blogcrowds.
No part of the content or the blog may be reproduced without prior written permission.