无废话设计模式(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、当需要构建一个层次结构的子系统时;

posted @ 2020-08-03 14:33  程序员恒哥  阅读(277)  评论(0编辑  收藏  举报