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() {

    }

    @Override
    public void channelSwitch() {

    }

    @Override
    public void volumeAdjust() {

    }
}
复制代码

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

posted @   Mars.wang  阅读(88)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2021-02-02 linux系统编程手册源代码运行
点击右上角即可分享
微信分享提示