メディア仲介者モード
メディアブローカモードは、多くのオブジェクト間の相互作用を管理し、一連のオブジェクト内のオブジェクト間でメッセージを伝達する詳細を独立したクラスにカプセル化することで、これらのオブジェクト間の直接的な相互作用による複雑さ、統合テストの難易度を低減します.メディア仲介者モードは、この場合に用いられるn個のオブジェクトがあり、それらの間に複雑な相互参照の関係が形成され、最悪の場合、n*(n−1)/2の関係チェーンが形成される可能性があり、nの増大に伴い、n*(n−1)/2も絶えず増加し、高結合の複雑な構造が形成される.これらのオブジェクト間の相互作用による複雑な関係を1人の調停者で管理すると、オブジェクト間のインタラクションは調停者によって間接的にメッセージを伝達し、それによってオブジェクト間の直接作用の複雑さを低減し、最終的にデカップリングの目的を実現する.このn個のオブジェクトのうちのオブジェクトが他のオブジェクトにメッセージを送信する場合はmediatorクラスに登録し,対応するメソッドを実行してメッセージの伝達を実現する.
public class Aclass{
}
public class Bclass{
}
public class Cclass{
}
public class Mediator{
private Aclass a;
private Bclass b;
private Cclass c;
public void registerA(Aclass a){
this.a=a;
}
public void registerA(Bclass b){
this.b=b;
}
public void registerC(Bclass c){
this.b=b;
}
public void execute1(){
}
public void execute2(){
}
}