日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 门面模式_Java门面模式

發布時間:2023/12/2 java 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 门面模式_Java门面模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡介

隱藏系統的復雜性,對外提供統一的訪問入口,外部系統訪問只通過此暴露出的統一接口訪問。是一種結構型模式。封裝子系統接口的復雜性,提供統一的對外接口,能夠使子系統更加簡單的被使用。

二、結構及使用場景

如上所示,可以很簡單明了的看出,Facede就是將復雜的底層系統,封裝到一個統一的接口,更簡單的提供給外部客戶端使用。其中,涉及角色:

1、客戶端client角色:通過調用facede門面,來調用服務,完成功能

2、門面facede角色:子系統服務和客戶端的紐帶。通過特定的需求,可以封裝子系統接口,提供統一接口供客戶端使用

3、子系統角色:真正處理任務的地方。

使用場景:封裝復雜的子系統,提供統一簡單的對外服務接口

三、代碼簡例

package com.cfang.oTest;

import lombok.extern.slf4j.Slf4j;

@Slf4j

public class TestFacede {

/*

* client調用

*/

public static void main(String[] args) {

Facede facede = new Facede();

facede.open();

log.info("========");

facede.close();

}

/*

* Facede

*/

static class Facede{

private SystemA systemA;

private SystemB systemB;

public Facede(){

systemA = new SystemA();

systemB = new SystemB();

}

public void open() {

systemA.openA();

systemB.openB();

}

public void close() {

systemA.closeA();

systemB.closeB();

}

}

/*

* 子系統A

*/

static class SystemA{

public void openA(){

log.info("open a...");

}

public void closeA(){

log.info("close a...");

}

}

/*

* 子系統B

*/

static class SystemB{

public void openB(){

log.info("open b...");

}

public void closeB(){

log.info("close b...");

}

}

}

運行結果:

以上可以看出,有了facede,客戶端如果想做開啟子系統的時候,不需要知道具體的open細節,如何open,直接通過facede中提供的統一open即可完成。

三、優缺點

優點:1、解耦 - 客戶端與子系統解耦,不需要關注子系統如何實踐,只需要跟facede交互即可

2、更好的劃分系統接口:對內和對外的接口,可以做很好的區別劃分

總結

以上是生活随笔為你收集整理的java 门面模式_Java门面模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。