JDBC und Anwendungs-/Geschäftslogik, und Datenzugriffsobjekte (DAO)

Datenzugriffsobjekte (DAO)

  • Abstraktion von Speicherungsfunktionen
  • enthält Methoden zum … von Objekten
    • Anlegen
    • Laden
    • Suchen
    • Ändern
    • Löschen
  • durch Schnittstelle beschrieben
  • Trennung von Geschäftslogik und Code zur Speicherung
  • Verbesserung der Wartbarkeit und Testbarkeit

Java-Objekte in verschiedenen Rollen

  • Satzmengenobjekte
    • Ergebnistabelle
    • Relationale Sicht auf Daten
  • Datentransferobjekte
    • Behälter für Datensatz
    • keine Referenzen auf andere Objekte
    • keine fachliche Logik
  • Geschäftsobjekte
    • komplexe Java Objekte
    • fachliche Logik und Referenzen
    • Vererbung, Assoziation, Komposition

Table Data Gateway (nach Fowler)

  • Objekt als Kapsel für ganze Tabelle
  • Lesefunktionen liefern Satzmengenobjekte

Bild

Row Data Gateway (nach Fowler)

  • Objekt als Kapsel für eine Zeile
  • Beinhaltet sämtlichen SQL-Code für DB-Operationen
  • Finder-Objekte zum Auffinden von Objekten

Bild

Active Record (nach Fowler)

  • wie Row Data Gateway
  • Enthält aber weitere Anwendungslogik

Bild

Data Mapper (nach Fowler)

  • Geschäftsobjekt
  • komplexe Transformation
  • Objekt frei von SQL-Code

Bild

Last modified 2023.04.25