私は
がチェーンの開始から終了までのチェーンを横断責任デザインパターンのチェーンの単純な実装を持っていますが、今私は
を作りたいですチェーンはある点から始まり、ある点で終わる。チェーン
ここでは、Javaでの単純なパターン実装例を示します。 ここで私はBをチェーンストップにしたいのですが、それを実装する最良の方法は何ですか?
public static void main(String[] args) {
PlanetHandler chain = setUpChain();
//Stop in B dont continue to C
chain.handleRequest(TypeEnum.B);
}
public enum TypeEnum {
A, B, C;
}
public abstract class Handler {
Handler successor;
public void setSuccessor(Handler successor) {
this.successor = successor;
}
public abstract void handleRequest(TypeEnum t);
}
public class A extends Handler {
public void handleRequest(TypeEnum t) {
if (successor != null) {
successor.handleRequest(request);
}
}
}
}
public class B extends Handler {
public void handleRequest(TypeEnum t) {
if (successor != null) {
successor.handleRequest(request);
}
}
}
}
public class C extends Handler {
public void handleRequest(TypeEnum t) {
if (successor != null) {
successor.handleRequest(request);
}
}
}
}
public static Handler setUpChain() {
Handler a = new A();
Handler b = new B();
Handler c = new C();
a.setSuccessor(b);
b.setSuccessor(c);
return a;
}
対応する「TyepEnum」を各クラスに追加し、同じときに停止する条件を追加しますか? – Oleg