MVC, WCF, EF, LINQ - Bin ich es nur? [geschlossen]

17

... oder wird es komplizierter?

Es scheint mir, dass Sie eine Menge Dinge wissen müssen, um eine MS-Web-App heutzutage "richtig" zu entwickeln. In den schlechten alten Zeiten, als wir es nicht besser wussten, hatten wir Datenbanktabellen, ASP.NET, ADO.NET und Sie erstellten eine Webanwendung mit relativ einfachen Konzepten.

Heutzutage scheint es viele Rahmenbedingungen zu geben, um Ihnen dabei zu helfen, es richtig zu machen, aber ich bin nicht überzeugt, dass dies alles einfacher und besser macht. Ich habe das Gefühl, dass ich mit diesem Gefühl in einer ziemlich kleinen Minderheit sein werde, aber gibt es noch jemanden, der denkt, dass die Dinge ein bisschen verrückt geworden sind?

Geselle
quelle
MVC = ASP.Net, WCF = Web Services + .Net Remoting, EF = ADO.Net, Linq ersetzt einige foreach-Schleifen. Jetzt gibt es so viele Frameworks wie zuvor.
Vortexwolf
John, ich muss dir "teilweise" zustimmen. Momentan verbessere ich meine .Net-Kenntnisse, sicherlich viel mehr als vor 5 Jahren.
TeaDrinkingGeek
Zwar gibt es viele DB-Technologien in der MS-Arena, aber diese Frage ist auf dieser Website wirklich nicht aktuell. Es stellt keine wirkliche Frage und fällt geradewegs in das "... saugt, habe ich recht?" Kategorie in der FAQ aufgeführt
Walter

Antworten:

17

Alle diese Dinge sind optional, verwenden Sie sie, wenn sie hilfreich sind, nicht, wenn sie nicht hilfreich sind. So einfach ist das. Sie können mit Sicherheit gute / richtige Web-Apps schreiben, ohne eines dieser Akronyme in Ihrer Lösung.

Ich persönlich bin der Meinung, dass MVC ein ziemlich leichtes und benutzerfreundliches Framework ist (viel einfacher als Webformulare, imo). Ebenso bietet LINQ eine gängige Methode zum Abfragen von Elementen. auch gut. EF und WCF und ich hatten unsere Meinungsverschiedenheiten, aber wenn das der Fall ist, benutze ich sie nicht.

Paul
quelle
2
+1 bei 'Benutze sie, wenn sie hilfreich sind'. Ich versuche die Regel anzuwenden, versuche 1 neues 'Ding' in jedem Projekt zu machen. Nach einer Weile haben Sie Erfahrung mit vielen Dingen und sehen, dass die Dinge einfacher werden, wenn Sie sie häufiger verwenden.
Jan_V
+1 auch an Sie für den "Versuch, 1 neue Sache für jedes Projekt zu tun". Ich lerne und wachse auch gerne.
Paul
1
Ich versuche bei jedem Projekt 1 neues Ding zu machen, aber das liegt normalerweise daran, dass das, was ich beim letzten Projekt gelernt habe, jetzt veraltet ist :)
gbjbaanb
9

Nein nicht wirklich. LINQ ist das Beste, was es seit jeher gibt, wenn man mit einer Datenbank interagiert.

Was Sie sich merken sollten, ist, dass diese Dinge auf anderen Dingen aufbauen. LINQ erhöht nicht die Anzahl der Dinge, die Sie zum Entwickeln einer ASP.NET-Website benötigen , da Sie jetzt keine SQL-Kenntnisse mehr benötigen. Und LINQ ist OO, was weitaus mehr mit der regulären Anwendungsentwicklung übereinstimmt, was es einfacher macht, alles zu tun als SQL und viel einfacher mit C # zu integrieren.

Wenn Sie nicht der Meinung sind, dass LINQ einfacher als SQL ist, sollten Sie vielleicht einige Beispiele für etwas veröffentlichen, das in den neuen Paradigmen schwieriger ist.

Noch wichtiger ist, dass Websites früher viel weniger Funktionen hatten. Wie können Sie neue Websites erstellen, die eine bessere Leistung, eine bessere Skalierung und neue Funktionen im selben Code bieten?

DeadMG
quelle
4
Ein linker Join in LINQ ist schwieriger als in SQL. Auch wenn Sie versuchen, Datenbankprobleme zu beheben, müssen Sie sich SQL trotzdem ansehen. Darüber hinaus hilft Ihnen das Wissen um SQL, wenn Sie jemals auf eine Entwicklungsplattform von Drittanbietern umsteigen möchten.
btilly
10
Kein ORM-Framework ist so leistungsfähig wie SQL. Es gibt Abfragen, die ich durchführen muss und die in einem ORM-Framework so gut wie unmöglich sind.
Bit-Twiddler
1
@ bit-twiddler> ja, und deshalb können Sie in den meisten ORM-Frameworks auch Raw-SQL (oder Sprocs) ausführen. Sie können einen guten C # -Typ veranlassen, die meisten Abfragen für Fußgänger zu schreiben, und DB-Experten wie Sie können das harte Zeug für sie in einem Sproc oder einer Ansicht packen.
Paul
1
Während ich umfangreiche Datenbanken entwerfe und eine Menge clientseitiges und serverseitiges SQL schreibe, bin ich kein DBA. Ich bin ein Softwareentwickler. Ich habe noch nie an einem Ort gearbeitet, an dem Softwareentwickler unqualifiziert waren. An einem bestimmten Tag kann ich Code in den Programmiersprachen C, C ++, Java, Object Pascal, PL / SQL oder Intel schreiben (ich zähle HMTL, XML und CSS nicht als Programmiersprachen, da sie nicht vollständig sind). Ich verwalte auch meine eigenen Tool-Sets und eine Tomcat-basierte Testumgebung (jeder in meinem Team hat seinen eigenen Tomcat-Server).
Bit-Twiddler
1
Schreiben von LINQ für die Interaktion mit einer Datenbank (LINQ-to-SQL, LINQ-to-Entities), ohne SQL zu kennen ...? Rezept für eine Katastrophe.
Kirk Broadhurst
3

Wenn die alten Konzepte, die Sie erwähnt haben, nicht mehr funktionieren würden, wäre das verrückt, aber die neueren Frameworks sind Alternativen. Blinde Akzeptanz wäre verrückt. Sie müssen rechtfertigen. Persönlich ist SQL für mich kein Problem. Beim Versuch, einige der Funktionen moderner Websites hinzuzufügen, werden sie von Webformularen nicht mehr abgeschnitten.

Ich bin sicher, dass einige klassische ASP-Leute .NET genauso sehen, aber nur wenige können diese Argumentation fortsetzen. Ich baue ein paar Sites in klassischem ASP und würde nicht zurückkehren.

JeffO
quelle
2

"Ein bisschen verrückt geworden". Genau so würde ich eine DataSetADO.NET-ASP.NET-Lösung beschreiben. :)

Ich stimme zu, dass es noch viel zu lernen gibt, aber jedes der erwähnten Frameworks hat die .NET-Entwicklung verbessert.


quelle
0

Ich würde sagen, dass dies ein globales Problem ist, das so ziemlich jedes Framework oder jede (Entwickler-) Plattform betreffen kann. Wenn ein neues Framework veröffentlicht wird, sieht es normalerweise klein und kompakt aus, aber im Laufe der Zeit werden neue Features / Funktionen / APIs (entweder nach Roadmap / Anfrage, neuen Konzepten / Trends / Technologien oder einfach nach Evolution) "aufgebläht". Sie haben mit "One Way of Doing" begonnen und jetzt gibt es mehr Möglichkeiten, aus denen Sie wählen können (und - Sie wissen nicht / sind nicht sicher - welche Sie wählen sollen). Es kann zeitaufwändig sein, neue Dinge zu lernen, aber sie können Ihnen viel flexiblere, schnellere und bessere Lösungen für dieselben Probleme bieten, die zuvor durch begrenzte Optionen gelöst wurden.

Ich bin einmal auf ein lustiges Zitat gestoßen: "Jeder Code wird zu S #! T, wenn man nicht genug Zeit und Hände hat". Dies fasst meiner Meinung nach zusammen, warum neue Dinge in bestehenden Rahmenbedingungen entstehen sollten, um neue Ideen in die Tat umzusetzen und die Evolution zu vollziehen.

yojimbo87
quelle