打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
GoF设计模式之十 Facade- -

 

                                      

    B5) Facade(外观模式)
    定义:提供一个统一的连接子系统中一套接口的接口。外观模式定义了一个更高等级的接口使得子系统更加容易使用。
    又是一个使用频率LV5的模式,在现在WorkFrame大红大紫的形势下,的确太常见了。来看看比较熟悉的struts,其中ActionServlet.java的一段代码:
    protected void process(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
        ModuleUtils.getInstance().selectModule(request, getServletContext());  //interface1
        ModuleConfig config = getModuleConfig(request);  //interface2
        RequestProcessor processor = getProcessorForModule(config);  //interface3
        if (processor == null) {
           processor = getRequestProcessor(config);
        }
        processor.process(request, response);
    }

    process函数中用到了interface1、2、3这三个子系统,就是一套接口,所谓一套,就是固定的,如果没有process函数,那每次需要这部分处理时都要重复上述代码。现在,将这部分内容合并,并提供了一个统一的process接口,大大降低了复杂性,使用方便,代码灵活易于修改,这样称之为外观模式。代码实现有点类似建造者模式,区别在于,建造者模式目的在于以相同的构建过程通过不同的建造者得到不同的结果,而外观模式并不需要不同的建造者,也不希望得到不同的结果,只是简单的将几个接口合并成高一级的一个接口,不影响原有的结果,目的是使调用变得更加容易。


   参考:
1、 http://www.jdon.com/designpatterns/designpattern_Facade.htm(中文、java实例)
2、 http://www.dofactory.com/Patterns/PatternFacade.aspx(英文、C#实例、UML)
3、 http://www.techscore.com/tech/DesignPattern/Facade.html(日文、java实例、UML)推荐

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
外观模式-facade
Java设计模式-外观(门面)模式
深入浅出外观模式(一)
深入理解JavaScript系列(30):设计模式之外观模式
设计模式学习笔记(十一)——Facade外观模式
设计模式之Facade--外观模式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服