定義:外觀模式(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("請喝茶"); }}其實外觀模式就和我們常提的封裝概念差不多,封裝是將對象封裝起來,而外觀模式,則是將復雜的流程封裝起來,對外提供一個統一的接口,讓用戶不用去管整個復雜的流程,只關注流程處理結果。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答