无废话设计模式(10)--结构型模式:外观模式

Posted 码到成攻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无废话设计模式(10)--结构型模式:外观模式相关的知识,希望对你有一定的参考价值。

前言

  外观模式定义:为子系统中的一组接口提供一个一致的界面,此模式定了一个高层接口,这一接口使得这一子系统更加容易使用


实现

简单UML图:

无废话设计模式(10)--结构型模式:外观模式

 

代码实现

//1、子系统A(研发部)class DeptDev{ public void DoworkD() { System.out.println("猿类们开始码代码了!"); } public void DoreportD() { System.out.println("研发部报告:研发任务到了XXX阶段了!"); }
}//2、子系统B(测试部)class DeptTest{ public void DoworkT() { System.out.println("测试人员开始干活了!"); } public void DoreportT() { System.out.println("测试部报告:测试完成XXX部分!"); }}//3、外观类(研发总监)class DeptFacade{ DeptDev deptDev; DeptTest deptTest;
public DeptFacade() { deptDev = new DeptDev(); deptTest = new DeptTest(); }
public void MakeDowork() { System.out.println("总监发话了:大家开始干活:------------"); deptDev.DoworkD(); deptTest.DoworkT(); }
public void GetReport() { System.out.println("总监发话了:大家汇报工作情况:------------"); deptTest.DoreportT(); deptDev.DoreportD(); }}

客户端:

 DeptFacade deptFacade =new DeptFacade(); deptFacade.MakeDowork(); deptFacade.GetReport();


 

运行结果:

 

应用场景简单总结

1、当需要为一个复杂的子系统提供一个简单的接口时;

2、当客户端与抽象类的实现部分之间存在着很大的依赖性时;

3、当需要构建一个层次结构的子系统时;






-END-



整理知识不易,如果你觉得读完以后有收获,不妨分享给你的亲朋好友吧!


以上是关于无废话设计模式(10)--结构型模式:外观模式的主要内容,如果未能解决你的问题,请参考以下文章

JAVA SCRIPT设计模式--结构型--设计模式之FACADE外观模式(10)

JAVA SCRIPT设计模式--结构型--设计模式之FACADE外观模式(10)

2 结构型模式之 - 外观模式

手写源码-设计模式10-外观模式-基于多个微服务调用实现下单

设计模式-结构型-5-外观模式

设计模式--外观模式Facade(结构型)