定義:外觀模式(Facade),為子系統(tǒng)中的一組接口提供一個一致的界面,定義一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用
特點:
(1)實現(xiàn)了子系統(tǒng)與客戶端之間的松耦合關(guān)系。
(2)客戶端屏蔽了子系統(tǒng)組件,減少了客戶端所需處理的對象數(shù)目,并使得子系統(tǒng)使用起來更加容易。
企業(yè)級開發(fā)和常用框架重的應(yīng)用:很多,比如常見的字符串的分割方法spilt也是
具體實例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
package com.test.faced; /** * 以喝茶為例:我們要喝茶,就得有茶具,茶葉,煮茶工具等 */ public class Demo { public static void main(String[] args) { System.out.println( "不使用外觀模式時,這些對象都需要客戶自己去準(zhǔn)備" ); 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( "準(zhǔn)備想要喝的茶的茶葉:" +name); } } class TeaSet{ public TeaSet() { System.out.println( "準(zhǔn)備喝茶要用的茶具" ); } } class TeaTools{ public TeaTools() { System.out.println( "準(zhǔn)備煮茶要用的工具,煮茶" ); } } 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é)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。