Mein Unternehmen hat eine Stellenanzeige veröffentlicht, um mir einen Helfer zu verschaffen. Ein Personalvermittler rief mich heute an und alles, was er sagte, war "MVC this Entity Framework that ..." - Er klang schockiert, als ich sagte, dass das Projekt DataSets und Linq2Sql über WinForms und ASP.NET WebForms verwendet.
Dann habe ich nach Optionen für automatisierte Website-Tests gesucht und bin hier darauf gestoßen : und ich begann mich aufzuregen.
Die meisten "Kenner" verwenden Präsentationsebenen, um ASP.NET so dünn zu machen, dass ein Tool wie NUnitAsp nicht hilfreich ist.
Diese Person ist im Wissen, und seine Freunde sind anscheinend im Wissen. Ich möchte auch Bescheid wissen, weil ich mich unsicher und ein wenig traurig fühle, wenn ich nicht Bescheid weiß.
Bei meinen Bemühungen im vergangenen Jahr, mit der Zeit zu gehen, habe ich große Vorteile von Linq2Sql und dem Unity-Container erzielt. Sie waren beide nur gut für mich - sie füllten Lücken, die mir seit Ewigkeiten klar waren.
Dann wechselte ich zu Model-View-Preseneter für WinForms-GUIs und war aus demselben Grund wieder sehr zufrieden damit. Ich hatte mich lange gefragt, wie ich die Dinge trennen sollte, damit ich einen dicken Client und ein Web haben konnte Client teilen ihre gemeinsame Logik in einer gemeinsamen Codebasis.
Dennoch kämpfe ich mit Folgendem. Und ich weiß, dass zig Menschen nicht falsch liegen können und ich bin nicht schlauer als die Massen, aber ich brauche Hilfe, um zu sehen:
- MVC als Weiterentwicklung von WebForms
- WPF als Weiterentwicklung von WinForms
- Entity Framework als Weiterentwicklung von Linq2Sql (und im Übrigen die Ablehnung
von Datasets)
(Ich vermute, dass alles auf meinen bisherigen Mangel an Testfahrvergnügen zurückzuführen ist)
Daher habe ich mich gefragt und keine Antwort auf Folgendes gehört:
- Was bringt mir die Verwendung von MVC in einer Webanwendung? Ich weiß, dass ich zusätzliche Quellcode-Artefakte und ein neues DSL zum Lernen erhalte. Was sonst?
- Was würde passieren, wenn ich WPF-Objekte ohne das MVVM-Muster verwenden würde? Würde ich meine Chancen beeinträchtigen, woanders einen Job zu finden?
- Ist WinForms wirklich kaputt? Bin ich es oder hat Visual Studio eine merkliche visuelle Verzögerung auf meinem 2,8-GHz-Dual-Core-Computer mit 8 GB RAM? Ich mag bissig. Ich möchte, dass Endbenutzer die ganze Zeit über bissig sind.
- Warum sind Datensätze "der alte Weg"? Sie scheinen schnell effizient und prägnant für viele kleine bis mittelgroße Probleme zu sein, die ich lösen muss (aber sie sind noch nicht einmal in Silverlight).
Ich habe das Gefühl, dass ein großer Haufen Komplexität auf dem Teller liegt und wenn man ihn verteilt, wird er nicht verschwinden. Die eigentliche Komplexität muss direkt angegangen werden, und möglicherweise sollte Software-Engineering eher wie Elektrotechnik oder Maschinenbau oder Gehirnchirurgie aussehen.