您好,欢迎来到微智科技网。
搜索
您的当前位置:首页GOF23设计模式之外观模式

GOF23设计模式之外观模式

来源:微智科技网

外观模式(Facade Pattern)指隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口的设计模式模式。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。

其核心就是将复杂业务封装为统一接口,便于其它使用的地方调用。其实外观模式用的很频繁,开发时不经意间可能就用上了。使用它也是为了降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。比如开发之中用常见的MVC其实也就用到了这个模式,在service层写复杂业务,Controller层只调用service提供的具体接口就行了。

比如这个打印ABC的例子,ABC三个类实现了接口IShow,重写了方法show,分别打印A、B、C,普通调用的情况是如图所示:

是需要一个个new出来调相应的方法,这样就把所有类都暴露出来了,与客户端耦合度过高。而使用外观模式,只需要创建一个外观类ShowAll再统一一个接口就行了,这样客户端调时只需要与外观类交互就可以了。

package com.minant.facade;

/**
 * @ClassName ShowAll
 * @Description TODO 展示所有
 * @Author MinAnt
 * @Date 2020/5/26
 * @Version V1.0
 */
public class ShowAll {
    public void showAll() {
        IShow a = new A();
        a.show();
        IShow b = new B();
        b.show();
        IShow c = new C();
        c.show();
    }
}

执行结果显然也是一样的:

这就是外观模式。

Stay hungry stay foolish!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务