Ich versuche mich aktuell, ein C# Projekt schön nach dem 3-Schichten-Modell aufzubauen. Ich orientiere mich dazu an einem HowTo von Robert Mühsig (netter Blog btw.).
Klappt alles schon ganz gut, es ist etwas aufwendiger mit dem programmieren, wie ich finde, da man sich über mehr Sachen gedanken machen muss.
Aber es hat zum Beispiel den Vorteil, dass alles schön sauber getrennt ist. Ich könnte theoretisch statt einer SQLite Datenbank als Datenquelle eine XML-Datei nutzen, nur indem ich eine anderes Objekt instanziere. Ein ordentliches Interface vorrausgesetzt, habe ich nirgendwo Probleme, dieses auch anzusprechen. Natürlich könnte man dies auch ohne das 3-Schichten-Modell machen, allerdings sind hier die Bereiche schön getrennt. So hab ich wirklich nur eine Stelle, die dafür zuständig ist, die Daten aus der Datenquelle auszulesen und wegzuschreiben und muss an anderer Stelle absolut nichts anpassen.
Wie gesagt, der Aufwand ist etwas größer und langsam wird mir zum Beispiel klar, wozu man schöne Klassendiagramme brauchen kann 😉 War der Berufsschulquatsch doch nicht ganz umsonst. Ich könnte mich an diese Programmierweise echt gewöhnen!
Ach ja, bei dem Projekt geht es um eine DVD-Archiv-Software mit „Verleih“-Modull. Kann es privat selbst ganz gut gebrauchen. Als mögliche Datenquellen soll es neben (aktuell) SQLite auch XML sowie MSSQL geben (evtl. auch MySQL). Desweiteren überlege ich später als weitere Übung, eine ASP.NET Weboberfläche zu erstellen, so dass man diese Verwaltung auch Online nutzen kann. Aber erstmal eins nach dem anderen 🙂