package com.cheng.zenofdesignpatterns.patternpk.crosswarzone.facade_vs_mediator.mediator;
/**
* 抽象中介者
*/
public abstract class AbsMediator {
// 工资
protected final ISalary salary;
// 职位
protected final IPosition position;
// 税收
protected final ITax tax;
public AbsMediator() {
salary = new Salary(this);
position = new Position(this);
tax = new Tax(this);
}
// 工资增加了
public abstract void up(ISalary _salary);
// 职位提升了
public abstract void up(IPosition _position);
// 税收增加了
public abstract void up(ITax _tax);
// 工资降低了
public abstract void down(ISalary _salary);
// 职位降低了
public abstract void down(IPosition _position);
// 税收降低了
public abstract void down(ITax _tax);
}