定義:面板模式(Facade),為子系統中的一組介面提供一個一致的介面,定義一個高層介面,這個介面使得這一子系統更加容易使用
特點:
(1)實現了子系統與用戶端之間的松耦合關係。
(2)用戶端屏蔽了子系統組件,減少了用戶端所需處理的對象數目,並使得子系統使用起來更加容易。
企業級開發和常用架構重的應用:很多,比如常見的字串的分割方法spilt也是
具體執行個體:
package com.test.faced;/** * 以喝茶為例:我們要喝茶,就得有茶具,茶葉,煮茶工具等 */public class Demo { public static void main(String[] args) { System.out.println("不使用面板模式時,這些對象都需要客戶自己去準備"); Tea tea = new Tea("龍井"); TeaSet teaSet = new TeaSet(); TeaTools teaTools = new TeaTools(); System.out.println("喝茶"); System.out.println("使用面板模式,我們提供一個茶館對象:"); TeaHouse teaHouse = new TeaHouse(); teaHouse.drinkTead(); System.out.println("喝茶"); }}class Tea{ public Tea(String name) { System.out.println("準備想要喝的茶的茶葉:"+name); }}class TeaSet{ public TeaSet() { System.out.println("準備喝茶要用的茶具"); }}class TeaTools{ public TeaTools() { System.out.println("準備煮茶要用的工具,煮茶"); }}class TeaHouse{ public void drinkTead(){ Tea tea = new Tea("龍井"); TeaSet teaSet = new TeaSet(); TeaTools teaTools = new TeaTools(); System.out.println("請喝茶"); }}
其實面板模式就和我們常提的封裝概念差不多,封裝是將對象封裝起來,而面板模式,則是將複雜的流程封裝起來,對外提供一個統一的介面,讓使用者不用去管整個複雜的流程,只關注流程處理結果。
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。