无废话设计模式(10)结构型模式--外观模式
0-前言
外观模式定义:为子系统中的一组接口提供一个一致的界面,此模式定了一个高层接口
这一接口使得这一子系统更加容易使用;
1-实现
1-1、简单UML图:
1-2、代码实现
//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();
运行结果:
2-应用场景简单总结
1、当需要为一个复杂的子系统提供一个简单的接口时;
2、当客户端与抽象类的实现部分之间存在着很大的依赖性时;
3、当需要构建一个层次结构的子系统时;