轻松掌握java外观模式
定义:外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用
特点:
(1)实现了子系统与客户端之间的松耦合关系。
(2)客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。
企业级开发和常用框架重的应用:很多,比如常见的字符串的分割方法spilt也是
具体实例:
packagecom.test.faced; /** *以喝茶为例:我们要喝茶,就得有茶具,茶叶,煮茶工具等 */ publicclassDemo{ publicstaticvoidmain(String[]args){ System.out.println("不使用外观模式时,这些对象都需要客户自己去准备"); Teatea=newTea("龙井"); TeaSetteaSet=newTeaSet(); TeaToolsteaTools=newTeaTools(); System.out.println("喝茶"); System.out.println("使用外观模式,我们提供一个茶馆对象:"); TeaHouseteaHouse=newTeaHouse(); teaHouse.drinkTead(); System.out.println("喝茶"); } } classTea{ publicTea(Stringname){ System.out.println("准备想要喝的茶的茶叶:"+name); } } classTeaSet{ publicTeaSet(){ System.out.println("准备喝茶要用的茶具"); } } classTeaTools{ publicTeaTools(){ System.out.println("准备煮茶要用的工具,煮茶"); } } classTeaHouse{ publicvoiddrinkTead(){ Teatea=newTea("龙井"); TeaSetteaSet=newTeaSet(); TeaToolsteaTools=newTeaTools(); System.out.println("请喝茶"); } }
其实外观模式就和我们常提的封装概念差不多,封装是将对象封装起来,而外观模式,则是将复杂的流程封装起来,对外提供一个统一的接口,让用户不用去管整个复杂的流程,只关注流程处理结果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。