pl: Repository Pattern erklären + Anwendungsbeispiel

Beitrag lesen

Hi MB,

Was ist DATA ACCESS LAYER?

Ein DAL liegt zwischen Anwendung und physikalischen Speicher. hier noch einmal mein Beispiel vom Letztenmal:

tie %{$self->{SESSION}}, 'SessionHash', file => $sid or die $@;

# Zum Beispiel einen Login speichern
# Credentials OK ab hier
$self->{SESSION}{LOGINTAB} = {
  group => $GRUP,
  user  => $USER,
  ts    => time(),
};

# Daten persistent machen
tied(%{$self->{SESSION}})->write;

Übergeben beim Einbinden des DAL wird lediglich ein Dateiname, alternativ kann jedoch auch der Name einer Datenbank übergeben werden. Die Idee eines DAL besteht darin, den physikalischen Speicher von der Anwendung vollständig zu trennen. D.h., nur noch die Anwendung bestimmt den Aufbau abstrakter Datentypen und wenn diese persistent zu machen sind, übergibt die Anwendung die Daten an den DAL.

In der Anwendung gibt es daher weder SQL-Statements noch irgendwelche Dateioperationen, mit der Übergabe der Daten an den DAL ist das Speichern aus der Sicht der Anwendung erledigt.

Ein DAL ist damit austauschbar, ohne dass in der Anwendung CODE geändert werden muss.

MfG

PS: In den wenigen Zeilen CODE obenstehend findest Du übrigens noch zwei weitere Design Patterns. Da kannst Du Dich mal prüfen ob Du sie erkennst.