Ich habe die chain of the responsibility pattern gelesen, die Beispiele sind nichts anderes als normales Drucken. Was ist, wenn ich schwierigere Operationen zusammen verketten möchte, zum Beispiel, gibt es einige Anwendungsfälle im wirklichen Leben:Die Verkettung von Verantwortungsmustern erfordert unterschiedliche Parametertypen?
Nehmen eine Anfrage, Anfrage -> Handler 1 (Anfrage, Integer) -> Handler 2 (Integer, String) -> Handler 3 (String, Long),
, wobei jeder Handler eine Eingabe von Parametern übernimmt und Ausgaben in einem anderen Parametertyp generiert. Können wir solche Handler unter Verwendung Generic Idee?
public abstract class Handler <Input, Output> {
public void setSuccessor(Handler handler);
public abstract Output handleRequest(Input in);
}
Ich hoffe, dass ich die Probleme deutlich genug klären. Danke!