package com.cheng.zenofdesignpatterns.patternpk.crosswarzone.facade_vs_mediator.mediator; /** * 具体中介者 */ public class Mediator extends AbsMediator { // 工资增加了 public void up(ISalary _salary) { upSalary(); upTax(); } // 职位提升了 public void up(IPosition position) { upPosition(); upSalary(); upTax(); } // 税收增加了 public void up(ITax tax) { upTax(); downSalary(); } // 工资降低了 @Override public void down(ISalary _salary) { downSalary(); downTax();; } // 职位降了 @Override public void down(IPosition _position) { downPostion(); downSalary(); downTax(); } // 税收降低了 @Override public void down(ITax _tax) { downTax(); upSalary(); } /* * 工资、职位、税收降低的处理方法相同,不再赘述 */ // 工资增加 private void upSalary() { System.out.println("工资翻倍,乐翻天"); } private void upTax() { System.out.println("税收上升,为国家做贡献"); } private void upPosition() { System.out.println("职位上升一级,狂喜"); } private void downSalary() { System.out.println("经济不景气,降低工资"); } private void downTax() { System.out.println("税收减低,国家收入减少"); } private void downPostion() { System.out.println("官降三级,比自杀还痛苦"); } }