2016-04-08 12 views
0

私はchain of the responsibility patternを読んでいますが、例は普通の印刷です。責任パターンの連鎖は、異なるパラメータタイプを取りますか?

リクエストを受け取ると、 リクエスト - >ハンドラ1(リクエスト、整数) - >ハンドラ2(整数、整数) - > String) - > Handler 3(String、Long)、

各ハンドラはパラメータの入力を受け取り、別のパラメータ型で出力を生成します。 一般アイデアを使用してこのようなハンドラを連鎖できますか?

public abstract class Handler <Input, Output> { 
 
    public void setSuccessor(Handler handler); 
 
    public abstract Output handleRequest(Input in); 
 
}

私ははっきりと十分な問題を明確に願っています。 ありがとう!

答えて

0

責任の連鎖では、チェーンの各要素を次の要素で設定する必要があります。そのため、インタフェースが何であるべきかを知る必要があります。多くの場合、文脈が回っています。

ハンドラ2がハンドラ1の処理結果に依存しているシーケンスは手元にありませんか?もしそうなら、責任の連鎖はうまくいかないでしょう。

コンパイル時に、必要なステップがわからない場合(たとえば、設定から来た場合など)、一連の責任が使用されます。

関連する問題