Einzelnen Beitrag anzeigen

Benutzerbild von borncrush
borncrush

Registriert seit: 18. Dez 2005
Ort: Berlin
115 Beiträge
 
Delphi XE7 Enterprise
 
#1

Dreischichtige Anwendungsgestaltung

  Alt 19. Feb 2011, 13:42
Hallo,

ich habe mal eine grundsätzliche Frage zur Gestaltung einer mehrschichtigen Anwendung im Praxisfall.

Ich möchte also ein Programm entwickeln, indem die GUI-/Datenverarbeitungs-/DB-Logik getrennt von einander sind.

Meine Idee war (ganz grob und aufs Relevante gekürzt):

1. Unit (DB-Logik):
Diese Unit kommuniziert direkt mit dem DB-Server, schickt die SQL-Statements etc ab. Stellt also Methoden und Funktion zur Verfügung für die Kommunikation mit dem DB-Server.

2. Unit (Datenverarbeitung):
Diese Unit schickt das SQL-Statement an die 1. Unit und erhält ein Ergebnis (ResultSet). Nun stelle ich mir das so vor, dass mein Programm für die einzelne Datenbank-Inhalte Objekte/Klassen/Records zur Verfügung stellt. Beispiel (!!) :

Code:
SQL-query: SELECT * FROM Debitoren WHERE id=123;
Nun packt diese Unit das Ergebnis in ein Record:

Delphi-Quellcode:
TKunde=record
  sKundenNr:String[50];
  sName:String[50];
  .
  .
  .
end;
Delphi-Quellcode:
var BspKunde:TKunde

BspKunde.sKundenNr=ResultFromSQL.GetStringByName('Kundennummer')
3. Unit (GUI):
Diese Unit holt aus der 2. Unit das Objekt/Record etc. und füllt die GUI damit. Gleichzeit wird beim Abspeichern der Daten wieder ein Object/Record (vom Typ TKunde) gefüllt und an die 2. Unit übergeben (diese wiederum wandelt das Ganze in einen SQL-Statement [insert] um und schickt das an die 3. Unit, welches dann die DB-Kommunikaton auslöst.)



Ich hoffe man versteht, was ich meine.

Ist dieser Weg sauber und in Ordnung oder wie würdet Ihr es machen?

Viele Grüße
  Mit Zitat antworten Zitat