门面模式-Facade-外观模式

作者: 孔祥子看天下 | 来源:发表于2017-03-15 09:39 被阅读47次

这个模式的名字还挺多的,如题吧!但是虽然名字多,但是它简单啊!!!

0x0 外观模式介绍
先看一个场景

场景:注册一个公司需要(简化版本)
1、去工商服务大厅核名、填写注册信息。
2、去银行开户
3、去开社保账号等

如果一个人自己去办理,很麻烦。这个时候就出现了中介来帮助我们来屏蔽这些麻烦。

中介就是facade,我们只管给中介说:我要创办一个公司,中介自己去访问各个机构去把事情办了!!!

解决问题

子系统和外界之间的调用更加明晰。降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。

好处

1、客户端不需要知道系统内部的复杂联系,整个系统只需提供一个"接待员"即可。 2、定义系统的入口。3、减少系统相互依赖,提高灵活性,提高了安全性。

使用场景

1、为复杂的模块或子系统提供外界访问的模块。 2、子系统相对独立。 3、预防低水平人员带来的风险。

0x01 实例

我们就用外观模式解决最开始引入的问题
首先定义一个解决问题的接口
<pre>
public interface DoThings {
void doThing1();
void doThing2();
}
</pre>

工商子系统
<pre>
public class GongShang implements DoThings {
@Override
public void doThing1() {
System.out.println("GongShang 核名");
}

@Override
public void doThing2() {
    System.out.println("GongShang 填写资料");
}

}
</pre>

银行子系统
<pre>
public class YinHang implements DoThings {
@Override
public void doThing1() {
System.out.println("YinHang 核实信息");
}

@Override
public void doThing2() {
    System.out.println("YinHang 开户");
}

}
</pre>
其他省略

0x2 外观接口
<pre>
public class MyFacade {

private GongShang gongShang;
private YinHang yinHang;
private Other other;

public MyFacade() {
    this.gongShang = new GongShang();
    this.yinHang = new YinHang();
    this.other = new Other();
}

public void gonshangKaihu() {
    this.gongShang.doThing1();
    this.gongShang.doThing2();
}

public void yinhangKaihu() {
    this.yinHang.doThing1();
    this.yinHang.doThing2();
}

public void doOther() {
    this.other.doThing1();
    this.other.doThing2();
}

}
</pre>

客户端调用
<pre>
public class Main {

public static void main(String[] args) {
    System.out.println("门面模式-外观模式-facade模式 !");
    MyFacade myFacade = new MyFacade();
    myFacade.gonshangKaihu();
    myFacade.yinhangKaihu();
    myFacade.doOther();
}

}

</pre>

运行效果

外观模式.png

相关文章

  • 门面模式-Facade-外观模式

    这个模式的名字还挺多的,如题吧!但是虽然名字多,但是它简单啊!!! 0x0 外观模式介绍先看一个场景 场景:注册一...

  • facade-门面模式

    解决问题 客户端调用逻辑与业务代码有效隔离,使得客户端调用只和Facade进行交互,内部的调用逻辑由Facade进...

  • 外观模式(Facede)

    本文参考自: 《JAVA设计模式》之外观模式(Facade) 1. 作用 外观模式也叫门面模式,门面模式是对象的结...

  • 门面模式(外观模式)

    门面模式: 优点 使用场景

  • 门面模式/外观模式

    外观模式-定义 另外一种称呼:门面模式第一点:要求一个子系统的外部和其内部的通信必需通过一个统一的对象进行。第二点...

  • 外观模式(门面模式)

    定义:为系统中的一组接口提供一个统一的接口。 外观定义了一个高层接口,让子系统更易于使用。 例子1):我不想开车,...

  • 设计模式[9]-外观模式-Facade Pattern

    1. 外观模式 外观模式(Facade Pattern),又称为门面模式,是非常常用的结构性设计模式。外观模式使得...

  • 外观/门面模式

    一. 概念 定义:Provide a unified interface to a set of interfac...

  • 设计模式(结构型)-- 门面/外观模式

    门面模式的原理与实现 门面模式,也叫外观模式,英文全称是 Facade Design Pattern。在 GoF ...

  • 结构型-Facade

    门面模式的原理与实现 门面模式,也叫外观模式,英文全称是 Facade Design Pattern。在 GoF ...

网友评论

    本文标题:门面模式-Facade-外观模式

    本文链接:https://www.haomeiwen.com/subject/zozknttx.html