1. 程式人生 > 實用技巧 >無廢話設計模式(10)結構型模式--外觀模式

無廢話設計模式(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、當需要構建一個層次結構的子系統時;