# komplexes DAO-Muster (design patterns)



## Lenny Simpsons (3. Jan 2012)

Hallo,

ich habe Probleme beim Verständnis von Design Patterns.

Ich muss ein komplexes DAO-Muster realisieren, jedoch sind mir die Zusammenhänge zwischen den einzelnen Klassen/Interface nicht ganz klar.

Hat jemand eine gute und verständliche Beschreibung?
Nicht den Quellcode, sondern die Beschreibung zu den einzelnen Klassen.


Danke!


----------



## JimPanse (4. Jan 2012)

Core J2EE Patterns: Patterns index page


----------



## DerFeivel (4. Jan 2012)

Was ist ein 'komplexes' DAO-Muster?


Im Grunde genommen abstrahiert dir ein DataAccessObjekt einfach nur den Zugriff auf eine Datenquelle bzw. deren Daten.
Statt im _Businessobjekt_ den eigentlich Zugriff (z.B. Sql-Statements) auf die Daten zu implementieren deligierst du die damit verbundenden Aufgaben (Herstellen der Verbindung zur _Datenquelle_, Lesen, Schreiben, Fehlerbehandlung) an das _DataAccessObject_.
Das _DataAccessObject _stellt die gelesenen Daten dem _BusinessObjekt _ dann über ein _DataTransferObjekt_ zur Verfügung.


Du hast bei diesem Pattern also 4 Teilnehmer:

- Businessobjekt:    
 Implementiert die Businesslogik und benutzt intern für die Haltung der Daten das DataTransferObjekt
 Erhält Daten aus der Datenquelle über das DataAccessObjekt
- DataAccessObjekt: 
 Übernimmt Verbindung mit Datenquelle
 Übernimmt die korrekte Formulierung der Anfragen an die Datenquell
 Stellt Ergebnisse der Anfragen als DataTransferObjekt zur Verfügung
- DataTransferObjekt:
 Dient dem Austausch von Daten
- Datenquelle:
Bspw. Datenbank, Dateisystem o.ä.


----------

