Hallo Daniel,
vielen Dank für deine sehr ausführliche Antwort! Also, ich habe hier folgende Vorlage verwendet: http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
Ich implementiere einen Server, auf diesem können sich Benutzer registrieren, im Hintergrund läuft auf dem Server eine PostgreSQL Datenbank. Es handelt sich überall um Java/Windows-Applikationen. Also KEINE Webanwendung.
Der Benutzer startet die exe auf dem Client. Anschließend kann er sich entweder einloggen oder registrieren. Die Kommunikation zwischen Server und Client läuft über RMI.
Die Datenbanklogik liegt (wie in der Vorlage von java.sun.com) in der DatabaseFactory z. B. createConnection und in DatabaseClient z. B.
deleteUser (delete from ... where userid=...).
Dein DatabaseClient/IDatabaseClient ist was? Für mich sieht es nach einer »» Art Fassade aus, über die die GUI-Schicht o.ä. auf die "Business"-Schicht »» zugreift.
Es kann ja sein, dass es verschiedene Konkrete Fabriken gibt. So weit ich das verstanden habe, kann ich diese später einfach austauschen. Dadurch dass ich das Interface IDatabaseClient verwende bzw. dessen Implementierung, weiß ich, dass jede konkrete Fabrik immer genau diese Methoden (des Interfaces) enthält.
Die Business Objekte enthalten nur sowas:
public class User
{
protected String Name, Vorname, Benutzername... und die dazugehörigen geter und seter Methoden
}
Anmerkung: ja, bin dabei mich in die Muster einzuarbeiten, nur bin ich auch leider etwas unter Zeitdruck (das teil muss fertig werden...) und mein Prof will dass wir Entwurfsmuster verwenden. Ich denke/hoffe dass das Data Access Object Muster mit der abstrakten Fabrik hier doch passend ist.
LG