详解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门面模式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
如何使用Spring Boot实现自定义Spring Boot插件
在本文中,我们介绍了如何使用 Spring Boot 实现自定义插件,使用自定义插件可以帮助我们快速地添加一些额外的功能,提高系统的可扩展性和可维护性,感兴趣的朋友跟随小编一起看看吧2023-06-06
Java 中Json中既有对象又有数组的参数如何转化成对象(推荐)
Gson库是一个功能强大、易于使用的Java序列化/反序列化库,它提供了丰富的API来支持Java对象和JSON之间的转换,这篇文章主要介绍了Java 中Json中既有对象又有数组的参数如何转化成对象,需要的朋友可以参考下2024-07-07
Spring Boot使用Value注解给静态变量赋值的方法
这篇文章主要介绍了Spring Boot使用Value注解给静态变量赋值的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-07-07


最新评论