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.
quelle
Antworten:
+1 dafür, dass du dich ohne Scham ausdrücken kannst.
Ich würde empfehlen, folgenden Blogs zu folgen. Wenn Sie "auf dem Laufenden" sein wollen, dann folgen Sie diesen Leuten
Diese Jungs und dieses eine Mädchen schreiben Blogs, die leicht zu folgen und zu verstehen sind. Sie können sie im Internet finden (versuchen Sie, mit Bing nach ihnen zu googeln).
quelle
Ich denke, Sie stellen einige gute Fragen. Für mich läuft es sowieso darauf hinaus, ständig zu fragen: "Gibt es einen besseren Weg?"
Gibt es Ärger mit der Verwendung von Datensätzen? Gibt es Ärger, wenn ich ständig eine Liste von Elementen durchlaufe? Bringen Sie diese Abfrage zu Google und sehen Sie, wie andere Leute es tun.
Ich vergleiche es mit Elektrikern. Golddraht in Baumwollisolierung funktioniert. Aber es hat einige Probleme. Es gibt heutzutage billigere und sicherere Methoden, um ein Haus zu verkabeln (daher erfordern die Codes in Städten die neuere Technologie). Wenn Sie nun einen Elektriker beauftragen, können Sie einen finden, der nur den alten Weg kennt und den er herstellen kann es funktioniert. Oder Sie könnten einen Mann einstellen, der auf dem neuesten Stand seiner Technologie ist und dafür sorgt, dass es funktioniert und sicherer wird.
So auch mit Code. Sie könnten einfach Ado.Net starten und Code ausführen (und manchmal müssen Sie dies tun). Der Code ist jedoch weniger lesbar (und möglicherweise weniger wartbar) als die Verwendung eines ORM. Die Schwierigkeit kommt, dass Sie benötigen den „alten Weg“ zu wissen , so dass Sie ein Verständnis von dem , was los ist in der „neuen Art und Weise.“ Verwenden Sie MVC also nicht nur, weil es neu ist. Sehen Sie sich die Vorteile an und wägen Sie sie gegen die Vorteile ab, die sich aus der alten Vorgehensweise ergeben.
quelle