Laden...

Best practice - Persistierung in einer Web-Applikation

Erstellt von teebeutel vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.721 Views
T
teebeutel Themenstarter:in
3 Beiträge seit 2015
vor 8 Jahren
Best practice - Persistierung in einer Web-Applikation

Hi zusammen,

ich habe ein ASP Projekt (Webforms), testweise momentan noch mit Access DB, soll aber in Zukunft auf MS SQL laufen.

Ich hab ne DB Connect Klasse, mit der sich einfache Abfragen erstellen lassen, auch Insert etc klappt wie ich es möchte. (con.oledbqry("select blabla from bla"), foreach (datarow dr in con.queryex().rows)..

Ich informier mich natürlich über die neusten Methoden und Best Practice, leider habe ich als Neuling das Gefühl das ungefähr 50 Wege nach Rom führen; und ich mir einfach nicht sicher bin welcher Weg der Beste für mein Programm ist.

Der Inhalt der Tabellen, Tabellenanzahl und Komplexität ist wirklich überschaubar. Es werden Werte aus Tabellen angezeigt, Werte gespeichert, Werte in GridViews angezeigt, das wars.

Nun lese ich was von nHibernate, EntityFramework, LINQ, StoredProcedures, aber auch teilweise das mein Weg okay ist, in Anbetracht der geringen Komplexität.

Ich hoffe ihr wisst worauf ich hinauswill - was ist der optimalste Weg für mich?

Herzlichen
Dank!

Ich

S
417 Beiträge seit 2008
vor 8 Jahren

Hallo,

also den optimalen Weg genau für deine Anwendung wirst du hier sicher nicht erfahren.
Da sind einfach zu viele Unbekannte.
Die Frage ist doch, wieso möchtest du deine Anwendung umstrukturieren?
Einfach so (wg. "Best practices") oder hast du konkrete Probleme (Performance o.ä.)?

Als Beispiel: Du kannst natürlich das Entity Framework verwenden, aber wenn du es machst um die Performance zu verbessern, dann wäre es das falsche Vorgehen, da du mit deinen nativen sql-statements schneller bist. Zumal ja auch die Komplexität des Programms nicht so hoch ist, dass ein OR-Mapper zur einfacheren Handhabung notwendig erscheint.

PS: Aber schonmal gut, dass du dich von Access verabschiedest 😉

T
teebeutel Themenstarter:in
3 Beiträge seit 2015
vor 8 Jahren

Danke für die Antwort - ich möchte das einfach für "mich" machen, um zu lernen. Wenn ichs nun "richtig" mach, weiss ich ja schon für die Zukunft, wenn ich das Projekt vielleicht erweitern möchte, wie es richtig geht:)

S
417 Beiträge seit 2008
vor 8 Jahren

In solchen "kleinen" Projekten zeigt sich halt der Mehrwert mancher "Best practices" nicht bzw. nicht sofort.
Du könntest z.B. auch in einem kleinen Projekt einen Caching-Layer einbauen, das Repository- und Unit of Work-Pattern in der Datenzugriffsschicht und Dependency Injection für eine bessere Trennung verwenden etc.
Aber wie du ja sagst, ist die Komplexität des Programms sehr gering, wodurch wohl eher ein overhead, als ein echter Nutzen dieser Maßnahmen entstehen würde.

Es ist natürlich an sich sinnvoll sich mit den Entwurfsmustern und z.B. der Funktionsweise von OR-Mappern zu beschäftigen (mit deren Vor- und Nachteilen). Ein kleines Projekt bietet hierzu gute Möglichkeiten, aber ob ein OR-Mapper nun die optimale Datenzugriffsmöglichkeit darstellt kann man nicht sagen. Was heisst "optimal"? Jeder der Ansätze hat Vor- und Nachteile die man abwägen muss.

PS: Falls du es machst um zu lernen, würde ich Webforms in die Tonne packen und stattdessen MVC oder Wep-API Projekte verwenden. Das ist meiner Meinung nach zukunftsträchtiger.

16.834 Beiträge seit 2008
vor 8 Jahren

PS: Falls du es machst um zu lernen, würde ich Webforms in die Tonne packen und stattdessen MVC oder Wep-API Projekte verwenden. Das ist meiner Meinung nach zukunftsträchtiger.

Jop. In der Tat. In ASP.NET 5 (vNext) gibt es kein WebForms mehr

P
1.090 Beiträge seit 2011
vor 8 Jahren

Aktuell verwenden viele eine 3-Schichten-Architekur. Und im DAL wird oft das Repositore Pattern mit Unit Of Worke verwendet.

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern