輕松掌握java外觀模式
定義:外觀模式(Facade),為子系統(tǒng)中的一組接口提供一個一致的界面,定義一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用
特點:
(1)實現(xiàn)了子系統(tǒng)與客戶端之間的松耦合關(guān)系。
(2)客戶端屏蔽了子系統(tǒng)組件,減少了客戶端所需處理的對象數(shù)目,并使得子系統(tǒng)使用起來更加容易。
企業(yè)級開發(fā)和常用框架重的應(yīng)用:很多,比如常見的字符串的分割方法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("請喝茶"); } }
其實外觀模式就和我們常提的封裝概念差不多,封裝是將對象封裝起來,而外觀模式,則是將復(fù)雜的流程封裝起來,對外提供一個統(tǒng)一的接口,讓用戶不用去管整個復(fù)雜的流程,只關(guān)注流程處理結(jié)果。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringCloud Config使用本地倉庫及map注入
這篇文章主要介紹了SpringCloud Config使用本地倉庫及map注入,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-09-09Java在Excel中創(chuàng)建多級分組、折疊或展開分組的實現(xiàn)
這篇文章主要介紹了Java在Excel中創(chuàng)建多級分組、折疊或展開分組的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2020-05-05Java 對10個數(shù)進行排序的實現(xiàn)代碼
可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換, 下次類推,即用第二個元素與后8個進行比較,并進行交換2017-02-02Mybatis原始執(zhí)行方式Executor代碼實例
這篇文章主要介紹了Mybatis原始執(zhí)行方式Executor代碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-07-07Java Predicate及Consumer接口函數(shù)代碼實現(xiàn)解析
這篇文章主要介紹了Java Predicate及Consumer接口函數(shù)代碼實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-06-06