1700479891
1700479892
}
1700479893
1700479894
税收的变化对我们的工资当然有影响,如代码清单33-17所示。
1700479895
1700479896
代码清单33-17 税收
1700479897
1700479898
public class Tax extends AbsColleague implements ITax{
1700479899
1700479900
//注入中介者
1700479901
1700479902
public Tax(AbsMediator_mediator){
1700479903
1700479904
super(_mediator);
1700479905
1700479906
}
1700479907
1700479908
public void drop(){
1700479909
1700479910
super.mediator.down(this);
1700479911
1700479912
}
1700479913
1700479914
public void raise(){
1700479915
1700479916
super.mediator.up(this);
1700479917
1700479918
}
1700479919
1700479920
}
1700479921
1700479922
以上同事类的业务都委托给了中介者,其本类已经没有任何的逻辑了,非常简单,现在的问题是中介者类非常复杂,因为它要处理三者之间的关系。我们首先来看抽象中介者,如代码清单33-18所示。
1700479923
1700479924
代码清单33-18 抽象中介者
1700479925
1700479926
public abstract class AbsMediator{
1700479927
1700479928
//工资
1700479929
1700479930
protected final ISalary salary;
1700479931
1700479932
//职位
1700479933
1700479934
protected final IPosition position;
1700479935
1700479936
//税收
1700479937
1700479938
protected final ITax tax;
1700479939
1700479940
public AbsMediator(){
[
上一页 ]
[ :1.700479891e+09 ]
[
下一页 ]