Ich möchte mysql-Datenbank-Anwendung mit dbexpress von Grund auf zu entwickeln oder mit bestehenden Datenbanken arbeiten. Um wiederverwendbare Schichten zu erstellen, welche Muster-Komponenten sollte ich verwenden. Ich möchte, dass die Anwendung leicht auf n-Tier skalierbar ist. Versucht google Suche für fertige Frameworks, aber ich fand nichts viel informativ (einige fehlen Dokumentation, einige fehlen Beispiele).
Etwas in den Adern der berühmten Java-Frameworks i.batis oder Hibernate wäre nützlich. Ich bin mit der Verwendung eines solchen Frameworks in PHP vertraut, um xml-definierte Geschäftsobjekte zu entwickeln. Ich habe versucht, es in Delphi zu konvertieren, aber es ist viel Arbeit (Abstraktion mit strenger Typisierung in Delphi macht alles schwer für mein Erfahrungsniveau).
Auch eine Ruby on Rails Activerecord-ähnliche Implementierung könnte nützlich sein.
Ich konnte mir nie darüber im Klaren sein, ob ich dbaware-Komponenten vernichten sollte oder nicht.
Ich habe versucht, einige Entwurfsmuster zu implementieren, um die Schichten (Datenzugriff/Verbindung), (Geschäftsobjekte) und (Benutzeroberfläche) zu trennen, aber ohne Erfolg. Was ich zu erreichen versuche, ist, Lego zu imitieren (ich kann jede Datenbank-Engine, jede Delphi-Datenbank-Technologie (bde, ado etc.. dbexpress ist ein Muss, andere sind optional) verwenden. Ich kann auch xml (mybase oder native), Textdateien (csv-ähnlich, Legacy-Parsing-Code) verwenden.
Ich kann Single-Tier, Client/Server und N-Tier benötigen.
Auch ich kann irgendeine Art von Web-Service-Implementierung benötigen (die Client-Seite kann jede Technologie abgesehen von Delphi ausführbare sein, so dass ich denke, generieren xml, wsdl leicht notwendig ist)
Die Datenzugriffsschicht ist der wichtigste Teil. Sie muss flexibel sein, da andere Frameworks darauf aufgebaut werden (Benutzerauthentifizierung, App-Konfiguration usw.).
- Ich könnte mich der Herausforderung stellen, mein eigenes einfaches Framework zu entwickeln (ich weiß nicht, was ich befolgen soll: Datenbankadaptermuster, DB-Verbindungsfabrik, Mapper, Datenzugriffsobjekte usw.).
- Ich kann eine bestehende (instantobjects nicht anwendbar. nicht mit bestehenden db Schema arbeiten). Einige der anderen, die ich versucht habe, fehlen dbexpress Unterstützung oder ich konnte nicht verstehen, die Konfiguration.