无废话设计模式(10)结构型模式--外观模式

Posted yanghj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无废话设计模式(10)结构型模式--外观模式相关的知识,希望对你有一定的参考价值。

0-前言

  外观模式定义:为子系统中的一组接口提供一个一致的界面,此模式定了一个高层接口

           这一接口使得这一子系统更加容易使用;

1-实现

1-1、简单UML图:

技术图片

 

 

1-2、代码实现

//1、子系统A(研发部)
class DeptDev
{
    public void DoworkD()
    {
        System.out.println("猿类们开始码代码了!");
    }
    public void DoreportD()
    {
        System.out.println("研发部报告:研发任务到了XXX阶段了!");
    }

}
//2、子系统B(测试部)
class DeptTest
{
    public void DoworkT()
    {
        System.out.println("测试人员开始干活了!");
    }
    public void  DoreportT()
    {
        System.out.println("测试部报告:测试完成XXX部分!");
    }
}
//3、外观类(研发总监)
class  DeptFacade
{
    DeptDev deptDev;
    DeptTest deptTest;

    public DeptFacade()
    {
        deptDev = new DeptDev();
        deptTest = new DeptTest();
    }

    public void MakeDowork()
    {
        System.out.println("总监发话了:大家开始干活:------------");
        deptDev.DoworkD();
        deptTest.DoworkT();
    }

    public void GetReport()
    {
        System.out.println("总监发话了:大家汇报工作情况:------------");
        deptTest.DoreportT();
        deptDev.DoreportD();
    }
}

 

客户端:

        DeptFacade deptFacade =new DeptFacade();
        deptFacade.MakeDowork();
        deptFacade.GetReport();

 

运行结果:

技术图片

 

 

2-应用场景简单总结

1、当需要为一个复杂的子系统提供一个简单的接口时;

2、当客户端与抽象类的实现部分之间存在着很大的依赖性时;

3、当需要构建一个层次结构的子系统时;

以上是关于无废话设计模式(10)结构型模式--外观模式的主要内容,如果未能解决你的问题,请参考以下文章

JAVA SCRIPT设计模式--结构型--设计模式之FACADE外观模式(10)

JAVA SCRIPT设计模式--结构型--设计模式之FACADE外观模式(10)

2 结构型模式之 - 外观模式

手写源码-设计模式10-外观模式-基于多个微服务调用实现下单

设计模式-结构型-5-外观模式

设计模式--外观模式Facade(结构型)