打字猴:1.700479786e+09
1700479786 public AbsColleague(AbsMediator_mediator){
1700479787
1700479788 this.mediator=_mediator;
1700479789
1700479790 }
1700479791
1700479792 }
1700479793
1700479794 在抽象同事类中定义了每个同事类对中介者都非常了解,如此才能把请求委托给中介者完成。三个同事类都具有相同的设计,即定义一个业务接口以及每个对象必须实现的职责,同时既然是同事类就都继承AbsColleague。抽象同事类只是一个标志性父类,并没有限制子类的业务逻辑,因此每一个同事类并没有违背单一职责原则。首先来看职位接口,如代码清单33-12所示。
1700479795
1700479796 代码清单33-12 职位接口
1700479797
1700479798 public interface IPosition{
1700479799
1700479800 //升职
1700479801
1700479802 public void promote();
1700479803
1700479804 //降职
1700479805
1700479806 public void demote();
1700479807
1700479808 }
1700479809
1700479810 职位会有升有降,职位变化如代码清单33-13所示。
1700479811
1700479812 代码清单33-13职位
1700479813
1700479814 public class Position extends AbsColleague implements IPosition{
1700479815
1700479816 public Position(AbsMediator_mediator){
1700479817
1700479818 super(_mediator);
1700479819
1700479820 }
1700479821
1700479822 public void demote(){
1700479823
1700479824 super.mediator.down(this);
1700479825
1700479826 }
1700479827
1700479828 public void promote(){
1700479829
1700479830 super.mediator.up(this);
1700479831
1700479832 }
1700479833
1700479834 }
1700479835
[ 上一页 ]  [ :1.700479786e+09 ]  [ 下一页 ]