MediatorはMediatorが管理するクラスインスタンスをフィールドに保持し、Mediatoに管理されるクラスはMediatorのインスタンスを保持し、Mediatorのメソッドを使わせる
Mediatorは管理するクラスのインスタンスからクラスの状態を取得し、状態に応じた処理を行う
以下のクラス構成で確認します
クラス | 説明 |
---|---|
Mediator.class | 管理するクラスのインスタンスを保持 |
menber.class | men1.class~men2.classのsuper Mediatorクラスインタンスを持つ |
user(Main.class) | 動作確認 |
*user 他の開発者がこのパターンを利用する、という意味合いを含みます
Mediator.class
class Mediator{
menber men1 = new men1(),
men2 = new men2();
String check(menber menber){
if(menber.str == men1.str){return "men1";}
else{return "men2";}
}
}
menber.class
class menber{
Mediator mediator;
String str;
menber(String str){this.str =str;}
void set(){this.mediator=new Mediator();}
}
men.class
class men1 extends menber{ men1(){super("men1");}}
class men2 extends menber{ men2(){super("men2");}
user(Main.class)
public static void main(String[] args){
menber m1 = new men1();
m1.set();
String res = m1.mediator.check(m1);
System.out.println(res);
}