定义:外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用
特点:
(1)实现了子系统与客户端之间的松耦合关系。
(2)客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。
企业级开发和常用框架重的应用:很多,比如常见的字符串的分割方法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( "不使用外观模式时,这些对象都需要客户自己去准备" ); 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( "请喝茶" ); } } |
其实外观模式就和我们常提的封装概念差不多,封装是将对象封装起来,而外观模式,则是将复杂的流程封装起来,对外提供一个统一的接口,让用户不用去管整个复杂的流程,只关注流程处理结果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。