Im grunde ja. Die 2. und die 3. Schicht verschmelzen hier ein wenig:
1. Benutzerschnittstelle
Alle (nicht datensensitiven) Komponenten, mit denen der User arbeiten kann (Listen, Eingabefelder, etc.)
2. Objektmodell
Abbildung eines Datensatzes einer Tabelle in einer Klasse.
Delphi-Quellcode:
TDatensatzPerson = class(TObject)
protected
FNachname: String;
FVorname: String;
public
property Nachname: String read FNachname write FNachname;
property Vorname: String read FVorname write FVorname;
end;
3. Datenbankzugriff
Klasse, die den Zugriff auf eine Tabelle kapselt
Delphi-Quellcode:
TTabellePerson = class(TObject)
protected
FQuery: TQuery;
public
.
.
.
public
procedure SelAlles;
procedure CopyToRec(iRec: TRecDatensatzPerson);
end;
implementation
.
.
.
procedure TTabellePerson.SelAlles;
begin
FQuery.Close;
FQuery.SQL.Text:= 'select * from person';
FQuery.Open;
end;
procedure TTabellePerson.CopyToRec(iRec: TRecDatensatzPerson);
begin
iRec.Nachname:= FQuery.FieldByName('Nachname').AsString;
iRec.Vorname:= FQuery.FieldByName(Vorname).AsString;
end;