無廢話設計模式(10)結構型模式--外觀模式
阿新 • • 發佈:2020-08-03
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、當需要構建一個層次結構的子系統時;