Hilfe bei geeignetem Pattern (Decorierer)

Ich such eine mögliche Lösung für folgendes Problem:

Ich habe eine GenericDAO die für n unterschiedlichen Klassen verfügbar ist. Eine DTO kann hierbei ein oder mehrer Attribut von

publish (Kennzeichnung zum veröffentlichen) und / oder
deleted (Kennzeichnung als gelöscht) und / oder
order (Zahl für die Sortierreihenfolge) und / oder
default (Kennzeichnung als default)

haben. Beispiel:

DTO_A
publish (Kennzeichnung zum veröffentlichen) und / oder
deleted (Kennzeichnung als gelöscht) und / oder

DTO_B
order (Zahl für die Sortierreihenfolge) und / oder
default (Kennzeichnung als default)

DTO_C
publish (Kennzeichnung zum veröffentlichen) und / oder
order (Zahl für die Sortierreihenfolge) und / oder

verfügen. Nun könnte ich zwar in der GenericDAO für die Behandlung von allen Attributen definieren, z.B.

setDeleted(boolean deleted)

Aber ich möchte nur die Funktionen öffentlich zugänglich machen, über dessen Eigenschaften die DTOs verfügen.
 
1. Was hat das mit einem Decorator zu tun?[...]

Nix, da beim Decorator-Pattern nur eine gewisse Kernfunktionalität "angereichert" wird, die Schnittstelle nach außen bleibt dabei gleich.

Was er möchte ist, das die sich die Schnittstelle der DAOs wie durch Zauberhand ändert in Abhängigkeit von dem DTO-Typen, wahrscheinlich noch zur Kompilezeit. Das nächste was da rankommen würde, wäre ein Interface für jede einzelne Methode anzulegen und die DTOs und DAOs die benötigten Methoden implementieren zu lassen. Das wird später aber extrem lustig wenn man mit z.B. Objekten arbeiten möchte die "publishable", "deleteable" und "orderable" etc. sind, da kommen dann generische Signaturen der Art <A & B & C & D> zustande...
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben