詳解java設(shè)計模式中的門面模式
門面模式又叫外觀模式(Facade Pattern),主要用于隱藏系統(tǒng)的復雜性,并向客戶端提供了一個客戶端可以訪問系統(tǒng)的接口。
我們知道電視劇操作很簡單,但是里面的設(shè)計和原理很少人明白,這就是因為電視劇的設(shè)計應(yīng)用了門面模式
一個電視劇至少需要有以下幾個模塊的功能:信號輸入、音頻處理、視頻處理、信號輸出等
/**
* 射頻信號輸入
*/
public class SignalIn {
//
}
* 音頻/視頻信號輸出
public class SignalOut {
* 音頻處理
public class AudioProcess {
* 視頻處理
public class VideoProcess {
這里面的原理只有少數(shù)專業(yè)人士才能明白,為了讓普通人都能使用電視劇,我們需要給電視劇提供一個易用的接口
/**
* 電視機
*/
public interface Television {
/**
* 電源開關(guān)
*/
public void powerSwitch();
* 切換頻道
public void channelSwitch();
* 調(diào)節(jié)音量
public void volumeAdjust();
}對于大多數(shù)人而言,會開關(guān)電視,能切換頻道,能調(diào)節(jié)音量就可以了,其他的原理他不需要知道,也能使用電視機。
假如我們買了一天TCL電視,它內(nèi)部設(shè)計可能很復雜,只要實現(xiàn)了上面的接口,我們就可以使用。
/**
* 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() {
}這就是門面模式的強大之處。隱藏復雜的邏輯,暴露易用的接口。
到此這篇關(guān)于java設(shè)計模式之門面模式的文章就介紹到這了,更多相關(guān)java門面模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何使用Spring Boot實現(xiàn)自定義Spring Boot插件
在本文中,我們介紹了如何使用 Spring Boot 實現(xiàn)自定義插件,使用自定義插件可以幫助我們快速地添加一些額外的功能,提高系統(tǒng)的可擴展性和可維護性,感興趣的朋友跟隨小編一起看看吧2023-06-06
Java 中Json中既有對象又有數(shù)組的參數(shù)如何轉(zhuǎn)化成對象(推薦)
Gson庫是一個功能強大、易于使用的Java序列化/反序列化庫,它提供了豐富的API來支持Java對象和JSON之間的轉(zhuǎn)換,這篇文章主要介紹了Java 中Json中既有對象又有數(shù)組的參數(shù)如何轉(zhuǎn)化成對象,需要的朋友可以參考下2024-07-07
Spring Boot使用Value注解給靜態(tài)變量賦值的方法
這篇文章主要介紹了Spring Boot使用Value注解給靜態(tài)變量賦值的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
java int類型二維數(shù)組實現(xiàn)“楊輝三角”的完整實例
這篇文章主要給大家介紹了關(guān)于java int類型二維數(shù)組實現(xiàn)“楊輝三角”的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
Java數(shù)據(jù)結(jié)構(gòu) 遞歸之迷宮回溯案例講解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)遞歸之迷宮回溯案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08

