Hallo Leute,
ich würde gerne mit Euch Decorator Pattern diskutieren.
Es geht dabei um Verifikationsverhalten von Formularen, das in Java-Backend ausgelagert ist. Das heißt der Benutzer füllt ein Formular aus und klickt speichern oder senden. Senden beinhaltet speichern und exportieren als XML-Dokument. Nun es hört sich alles soweit einfach an, kompliziert wird es deshalb weil es verschiede Prozessschritte existieren zu denen die Formulare ausgefüllt werden können. Zu jedem Prozessschritt gibt es eine in der Datenbank abgelegte Konfiguration. Diese Konfiguration besteht aus den Namen der Felder, Flags (mandatory, visible, editable) und anderen Attributen die hauptsächlich für die GUI interessant sind.
Das Verifikationverhalten basiert auf dieser Konfiguration, nämlich es wird die Konfiguration für einen bestimmten Prozessschritt zu dem das ausgefühlte Formular ausgefüllt wurde gelesen, es wird über die Felder in der Konfiguration iteriert und geprüft ob alle mandatory editable Felder ausgefüllt wurden.
Somit ist der Verifikator eine Komponente, die das zu verifizierende Objekt samt der Feldkonfiguration entgegennimmt und die Konfiguration überprüft.
Nun kann es vorkommen, dass für bestimmte Prozessschritte Sonderbhandlungen in den Verifikationsprozess eingebaut werden müssen. Ich habe vor und habe das schon angefangen zu implementieren für diesen Zweck den Decorator Pattern einzusetzen.
Beispiel für so eine Sonderbehandlung wäre: für einen bestimmten Prozessschritt muss eins der Kontaktfelder ausgefüllt werden, WENN der Ansprechpartner ausgefüllt wurde. Es gibt noch einige Sonderbehandlungen in der Art.
Meine Idee besteht dabei in der Implementierung einer Decorator-Klasse die dann den Verifikationsmethod der Standartkomponente aufruft + eine Sonderbehandlung für jede Sonderbehandlung. Die entsprechende Decorator-Klasse wird dann in einer Mapping-Klasse für den jeweiligen Prozessschritt registriert.
Was sagt Ihr zu meiner Idee? Was gäbe es hier für Alternativen? Was wenn für 5 aus 100 Prozessschritten eine Sonderbehandlung existiert? Wie würdet Ihr das problem lösen?
Würde mich freue wenn Ihr mit mir darüber diskutieren würdet.
Gruß,
madlena
ich würde gerne mit Euch Decorator Pattern diskutieren.
Es geht dabei um Verifikationsverhalten von Formularen, das in Java-Backend ausgelagert ist. Das heißt der Benutzer füllt ein Formular aus und klickt speichern oder senden. Senden beinhaltet speichern und exportieren als XML-Dokument. Nun es hört sich alles soweit einfach an, kompliziert wird es deshalb weil es verschiede Prozessschritte existieren zu denen die Formulare ausgefüllt werden können. Zu jedem Prozessschritt gibt es eine in der Datenbank abgelegte Konfiguration. Diese Konfiguration besteht aus den Namen der Felder, Flags (mandatory, visible, editable) und anderen Attributen die hauptsächlich für die GUI interessant sind.
Das Verifikationverhalten basiert auf dieser Konfiguration, nämlich es wird die Konfiguration für einen bestimmten Prozessschritt zu dem das ausgefühlte Formular ausgefüllt wurde gelesen, es wird über die Felder in der Konfiguration iteriert und geprüft ob alle mandatory editable Felder ausgefüllt wurden.
Somit ist der Verifikator eine Komponente, die das zu verifizierende Objekt samt der Feldkonfiguration entgegennimmt und die Konfiguration überprüft.
Nun kann es vorkommen, dass für bestimmte Prozessschritte Sonderbhandlungen in den Verifikationsprozess eingebaut werden müssen. Ich habe vor und habe das schon angefangen zu implementieren für diesen Zweck den Decorator Pattern einzusetzen.
Beispiel für so eine Sonderbehandlung wäre: für einen bestimmten Prozessschritt muss eins der Kontaktfelder ausgefüllt werden, WENN der Ansprechpartner ausgefüllt wurde. Es gibt noch einige Sonderbehandlungen in der Art.
Meine Idee besteht dabei in der Implementierung einer Decorator-Klasse die dann den Verifikationsmethod der Standartkomponente aufruft + eine Sonderbehandlung für jede Sonderbehandlung. Die entsprechende Decorator-Klasse wird dann in einer Mapping-Klasse für den jeweiligen Prozessschritt registriert.
Was sagt Ihr zu meiner Idee? Was gäbe es hier für Alternativen? Was wenn für 5 aus 100 Prozessschritten eine Sonderbehandlung existiert? Wie würdet Ihr das problem lösen?
Würde mich freue wenn Ihr mit mir darüber diskutieren würdet.
Gruß,
madlena