定义:外观模式(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("请喝茶"); } }
其实外观模式就和我们常提的封装概念差不多,封装是将对象封装起来,而外观模式,则是将复杂的流程封装起来,对外提供一个统一的接口,让用户不用去管整个复杂的流程,只关注流程处理结果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持查字典教程网。