JAVA設計模式:外觀(Facade) – JAVA編程語言程序開發技術文章

  外觀模式為子系統中的一組接口提供一個一致的界面。Facade模式定義瞭一個高層接口,這個接口使得這一子系統更加容易使用。

       網上有許多安保系統應用外觀模式的例子,在這裡我舉一個客服中心的例子,客戶投訴一般會經過以下一系列操作:登記投訴信息、分配受理部門、提交投訴信息。

       沒有客服MM的時候,客戶投訴需要自己操作登記信息、分配部門並且提交投訴等,我相信你一定會很快瘋掉。

 沒有客服MM

       有瞭個客服MM後,用戶直接和客服打交道,由客服MM替我們完成後繼的操作。

有瞭客服MM

       在上面的例子裡,服務MM的角色就是外觀模式中定義的Facade(也有人稱之為“門面”)。對於一系列復雜的操作(也就是程序中的子應用),用戶並不關心這些操作的細節。這時我們需要提供一個統一訪問這些復雜操作的入口,針對各子應用的所有操作都是通過這個入口來完成,對於用戶來說,隻關心這個入口提供的功能就可以瞭。

       外觀模式主要強調兩方面的內容,一是所有對子應用的訪問必須通過統一的入口來完成,二是這個入口隻是被用來訪問子應用中復雜的操作,不允許添加其它的業務邏輯。

       上面客服MM的例子使用外觀模式來實現,代碼如下:

[java] 
class OperationRegist{ 
    void regist(){ 
        //處理投訴的登記 
    } 

 
class OperationDispatch{ 
    void dispatch(){ 
        //處理投訴的分配 
    } 

 
class OperationSubmit{ 
    void submit(){ 
        //處理投訴的提交 
    } 

 
class OperationFacade{ 
    OperationRegist op1 = new OperationRegist(); 
    OperationDispatch op2 = new OperationDispatch(); 
    OperationSubmit op3 = new OperationSubmit(); 
     
    void operate(){ 
        op1.regist(); 
        op2.dispatch(); 
        op3.submit(); 
    } 

作者:fancy888

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。