2020-08-03

无废话设计模式(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、当需要构建一个层次结构的子系统时;

无废话设计模式(10)结构型模式出口易店铺运营活动解读亚马逊退货变复购?怎么写独立站退货政策能够让买家"剁手"?市场潜力巨大!强力推荐这个产品!kili2017长隆水上乐园的票价是多少?2017年国庆广州百万葵园有什么活动?2017国庆节长隆水上乐园有什么好玩的?

No comments:

Post a Comment