package mediator_pattern;
public abstract class Colleage {
Mediator mediator ;
abstract void do_initiative(Mediator mediator);
abstract void do_passiaity();
}
package mediator_pattern;
public class Women_Data extends Colleage {
public void do_initiative(Mediator mediator) {
// TODO Auto-generated method stub
System.out.println("mm要求约会.......");
mediator.gg_communicate();
}
@Override
public void do_passiaity() {
// TODO Auto-generated method stub
System.out.println("mm接受来自gg的约会邀请.......");
}
}
package mediator_pattern;
public class Man_Data extends Colleage {
public void do_initiative(Mediator mediator) {
// TODO Auto-generated method stub
System.out.println("gg要求约会.......");
mediator.mm_communicate();
}
public void do_passiaity() {
// TODO Auto-generated method stub
System.out.println("gg接受来自mm的约会邀请.......");
}
}
package mediator_pattern;
public abstract class Mediator {
Colleage colleage1 ;
Colleage colleage2 ;
abstract boolean mm_communicate();
abstract boolean gg_communicate();
}
package mediator_pattern;
public class Matchmake_Mediator extends Mediator {
Matchmake_Mediator(){
}
Matchmake_Mediator(Women_Data colleage1,Man_Data colleage2){
this.colleage1 = colleage1;
this.colleage2 = colleage2;
}
boolean mm_communicate() {
// TODO Auto-generated method stub
this.colleage1.do_passiaity();
return true;
}
@Override
boolean gg_communicate() {
// TODO Auto-generated method stub
this.colleage2.do_passiaity();
return true;
}
}
package mediator_pattern;
public class App {
public static void main(String[] args) {
Women_Data women = new Women_Data();
Man_Data man = new Man_Data();
Matchmake_Mediator mediator = new Matchmake_Mediator(women,man);
women.do_initiative(mediator);
man.do_initiative(mediator);
}
}