![]() |
Datenzugriffs-Schicht
Hallo,
wird sind gerade in der Planung einer Datenbankzugriffs-Schicht für ein größeres Projekt. Da gibt es verschiedene Lösungsansätze zur Zwischenspeicherung der Daten. Mich würde interessieren, welche Lösung Ihr favoritisieren würdet und warum. Als Server dient ein Firebird Server. Der Zugriff erfolgt über Ibobjects oder Fibplus. Variante 1. Die gewünschten Daten werden in einem Memorydataset bereitgestellt. Vorteil: Tabellenstruktur bleibt erhalten. Über CachedUpdate ist ein sauberes transactionsgesteuertes Update/Insert möglich. DB-sensitive Komponenten können verwendet werden. Weniger Programmieraufwand. Bessere Erweiterbarkeit Nachteil Overhead von MemDataset. Weniger flexibel. Variante 2 Speicherung in eigenen Klassen und Listen. Also TData = Class Kundennr : string; PLZ : String ... Vorteil: flexibler in der Anwendung, schneller als Memdataset. Nachteil: Höherer Programmieraufwand, Erweiterungen ziehen Änderungen im Quellcode nach sich. Es gibt wohl noch eine dritte Varinte mit einem Applicationsserver. Da fehlt mir aber noch die Erfahrung. Was mich interessiert, welche Variante würdet Ihr empfehlen? Gibt es noch eine weitere Variante. Mit Gruß Peter |
Re: Datenzugriffs-Schicht
Hallo hanspeter,
ich gehe davon aus, dass du ein paar gedanken anderer lesen möchtest und nicht die ultimative Antwort erwartest :wink: . Ab mittelgroßen Projekten (>1000PT) und/oder dort wo mehrere Client-Systeme zumindest angedacht sind wird bei uns auf einem klassischen Mehrschichtensystem aufgesetzt. Grob gesagt gibt es Klassen die für die gesamte Persistenz (DB-Zugriffe, Dateien, usw.) zuständig sind, die Business-Schicht mit der eigentlichen Logik und dann natürlich die Präsentationsschicht. Alles jetzt recht Grob erklärt. Bei kleinen Projekten oder wo nicht andere wirklich gute Gründe für eine Mehrschichtapplikation vorliegen geht die Kosten/Nutzen Rechnung einfach nicht auf und es wird 2-Schicht orientiert programmiert. Zitat:
Was fehlt ist, das Mehrschicht-Applikationen besser auf Teams verteilt werden können und letztlich auch der Test davon profitieren kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz