详解java设计模式中的门面模式

 更新时间:2022年02月02日 08:26:51   作者:Mars.wang  
门面模式又叫外观模式(Facade Pattern),主要用于隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口,本文通过实例代码给大家介绍下java门面模式的相关知识,感兴趣的朋友一起看看吧

门面模式又叫外观模式(Facade Pattern),主要用于隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。

我们知道电视剧操作很简单,但是里面的设计和原理很少人明白,这就是因为电视剧的设计应用了门面模式

一个电视剧至少需要有以下几个模块的功能:信号输入、音频处理、视频处理、信号输出等

/**
 * 射频信号输入
 */
public class SignalIn {
    //
}

 * 音频/视频信号输出
public class SignalOut {

 * 音频处理
public class AudioProcess {

 * 视频处理
public class VideoProcess {

这里面的原理只有少数专业人士才能明白,为了让普通人都能使用电视剧,我们需要给电视剧提供一个易用的接口

/**
 * 电视机
 */
public interface Television {
    /**
     * 电源开关
     */
    public void powerSwitch();

     * 切换频道
    public void channelSwitch();

     * 调节音量
    public void volumeAdjust();

}

对于大多数人而言,会开关电视,能切换频道,能调节音量就可以了,其他的原理他不需要知道,也能使用电视机。

假如我们买了一天TCL电视,它内部设计可能很复杂,只要实现了上面的接口,我们就可以使用。

/**
 * TCL电视机
 */
public class TCLTelevision implements Television{
    private SignalIn in;
    private AudioProcess audioProcess;
    private VideoProcess videoProcess;
    private SignalOut out;
    @Override
    public void powerSwitch() {
    }
    public void channelSwitch() {
    public void volumeAdjust() {
}

这就是门面模式的强大之处。隐藏复杂的逻辑,暴露易用的接口。

到此这篇关于java设计模式之门面模式的文章就介绍到这了,更多相关java门面模式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot 之jpa高级查询操作

    springboot 之jpa高级查询操作

    这篇文章主要介绍了springboot 之jpa高级查询操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Java实现加盐算法的两种方法

    Java实现加盐算法的两种方法

    数据安全是一个重要的问题,本文主要介绍了Java实现加盐算法的两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 如何使用Spring Boot实现自定义Spring Boot插件

    如何使用Spring Boot实现自定义Spring Boot插件

    在本文中,我们介绍了如何使用 Spring Boot 实现自定义插件,使用自定义插件可以帮助我们快速地添加一些额外的功能,提高系统的可扩展性和可维护性,感兴趣的朋友跟随小编一起看看吧
    2023-06-06
  • 快速了解JAVA中的Random()函数

    快速了解JAVA中的Random()函数

    这篇文章主要介绍了JAVA中的Random()函数的使用方法,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java 中Json中既有对象又有数组的参数如何转化成对象(推荐)

    Java 中Json中既有对象又有数组的参数如何转化成对象(推荐)

    Gson库是一个功能强大、易于使用的Java序列化/反序列化库,它提供了丰富的API来支持Java对象和JSON之间的转换,这篇文章主要介绍了Java 中Json中既有对象又有数组的参数如何转化成对象,需要的朋友可以参考下
    2024-07-07
  • Spring Boot使用Value注解给静态变量赋值的方法

    Spring Boot使用Value注解给静态变量赋值的方法

    这篇文章主要介绍了Spring Boot使用Value注解给静态变量赋值的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • java int类型二维数组实现“杨辉三角”的完整实例

    java int类型二维数组实现“杨辉三角”的完整实例

    这篇文章主要给大家介绍了关于java int类型二维数组实现“杨辉三角”的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • jsp中存取session值简单介绍

    jsp中存取session值简单介绍

    这篇文章主要介绍了jsp中存取session值简单介绍,涉及request和session的域操作等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java数据结构 递归之迷宫回溯案例讲解

    Java数据结构 递归之迷宫回溯案例讲解

    这篇文章主要介绍了Java数据结构递归之迷宫回溯案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • SpringBoot导出Excel表格到指定路径的代码详解

    SpringBoot导出Excel表格到指定路径的代码详解

    Spring Boot导出Excel通常涉及到使用第三方库如Apache POI或者XlsxWriter等,它们能帮助你在Spring应用中生成并下载Excel文件,那么SpringBoot如何导出Excel表格到指定路径,本文将给大家详细的介绍一下
    2024-07-07

最新评论