打字猴:1.70046271e+09
1700462710
1700462711 super.c2.selfMethod2();
1700462712
1700462713 }
1700462714
1700462715 public void doSomething2(){
1700462716
1700462717 super.c1.selfMethod1();
1700462718
1700462719 super.c2.selfMethod2();
1700462720
1700462721 }
1700462722
1700462723 }
1700462724
1700462725 中介者所具有的方法doSomething1和doSomething2都是比较复杂的业务逻辑,为同事类服务,其实现是依赖各个同事类来完成的。
1700462726
1700462727 同事类的基类如代码清单14-14所示。
1700462728
1700462729 代码清单14-14 抽象同事类
1700462730
1700462731 public abstract class Colleague{
1700462732
1700462733 protected Mediator mediator;
1700462734
1700462735 public Colleague(Mediator_mediator){
1700462736
1700462737 this.mediator=_mediator;
1700462738
1700462739 }
1700462740
1700462741 }
1700462742
1700462743 这个基类也非常简单。一般来说,中介者模式中的抽象都比较简单,是为了建立这个中介而服务的,具体同事类如代码清单14-15所示。
1700462744
1700462745 代码清单14-15 具体同事类
1700462746
1700462747 public class ConcreteColleague1 extends Colleague{
1700462748
1700462749 //通过构造函数传递中介者
1700462750
1700462751 public ConcreteColleague1(Mediator_mediator){
1700462752
1700462753 super(_mediator);
1700462754
1700462755 }
1700462756
1700462757 //自有方法self-method
1700462758
1700462759 public void selfMethod1(){
[ 上一页 ]  [ :1.70046271e+09 ]  [ 下一页 ]