当前位置:编程学习 > JAVA >>

JAVA设计模式:外观(Facade)

  外观模式为子系统中的一组接口提供一个一致的界面。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

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,