概念

  • 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式
  • image.png
  1. /**
  2. * 门面类
  3. */
  4. public class WeiXinFacade {
  5. Police police = new Police();
  6. Edu edu = new Edu();
  7. Social social = new Social();
  8. /**
  9. * 封装起来只留一个方法
  10. * @param name
  11. */
  12. public void handleXxx(String name){
  13. police.resgister(name);
  14. edu.assignSchool(name);
  15. social.handleSocial(name);
  16. }
  17. public void resgister(String name){
  18. police.resgister(name);
  19. }
  20. public void assignSchool(String name){
  21. edu.assignSchool(name);
  22. }
  23. }
  1. public class Police {
  2. public void resgister(String name){
  3. System.out.println(name + "已办理落户");
  4. }
  5. }
  1. public class Edu {
  2. public void assignSchool(String name){
  3. System.out.println(name+",你的孩子明天去 硅谷大学附属幼儿园 报道......");
  4. }
  5. }
  1. public class Social {
  2. public void handleSocial(String name){
  3. System.out.println(name+",你的社保关系已经转移....");
  4. }
  5. }

应用场景

  • 去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便。
  • 以此类比…… JAVA 的三层开发模式。
  • 分布式系统的网关
  • Tomcat源码中的RequestFacade干什么的?