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

  • 相关阅读:
    PCB打样前的注意事项
    STM32CubeMX新建工程+基本IO配置过程
    unicode gbk 转换函数
    16进制数字转换为字符
    字符转换为16进制数字
    System.IO.Directory类
    C# DataSet和DataTable详解
    DataGridView 控件详细解说
    关于Datagridview控件用法的一些总结(设置列chicun)
    获取DataGridView中的的选中行
  • 原文地址:https://www.cnblogs.com/yanghj/p/13426123.html
Copyright © 2011-2022 走看看