欢迎来到天天文库
浏览记录
ID:18743502
大小:145.50 KB
页数:5页
时间:2018-09-20
《java外观模式详解(service第三者插足让action与dao分手)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、各位好,LZ今天给各位分享一个不太熟悉的面孔,但却是我们最经常使用的设计模式,外观模式。定义:外观模式是软件工程中常用的一种软件设计模式。它为子系统中的一组接口提供一个统一的高层接口。这一接口使得子系统更加容易使用。该定义引自百度百科,它的表现很简单,将一系列子接口的功能进行整理,从而产生一个更高层的接口。相信做JAVA的各位大部分是WEB开发,那么肯定都对XXXDao,XXXService非常熟悉了,这显然和外观模式有一腿。当然,还有一大部分是android开发,LZ没接触过android开发,但是LZ大胆的想象,在移动领域的JAVA开发,应该也有类似的情况发
2、生。接下来,我们来看看外观模式的标准类图。上述便是外观模式的类图,它主要由两部分组成,一部分是子系统(包括接口,实现类,等等),一部分是外观接口和实现类,外观接口负责提供客户端定制的服务,外观实现则负责组合子系统中的各个类和接口完成这些服务,外观接口则是提供给客户端使用的,这样就解除了客户端与子系统的依赖,而让客户端只依赖于外观接口,这是一个优秀的解耦实践。下面LZ依然使用JAVA代码将上述的类图诠释出来,我们来直观的看看外观模式的实现方式。首先是我们的子系统,它包括三个接口,三个实现,LZ这里一并给出。packagecom.facade;publicinter
3、faceSub1{voidfunction1();}packagecom.facade;publicinterfaceSub2{voidfunction2();}packagecom.facade;yearsmortgagehousing;4.mortgageregistrationformalitiesarecompleted.(D)pledge1.borrower(includingthepledgor)between18-65yearsofage,withfullcivilcapacity;2.collateralpublicinterfaceSub3{v
4、oidfunction3();}packagecom.facade;publicclassSub1ImplimplementsSub1{publicvoidfunction1(){System.out.println("子系统中Sub1接口的功能");}}packagecom.facade;publicclassSub3ImplimplementsSub3{publicvoidfunction3(){System.out.println("子系统中Sub3接口的功能");}}以上便是我们模拟出的一个子系统,那么现在便是我们最重要的接口出场的时候了,LZ给出Fac
5、ade以及它的简单实现。packagecom.facade;publicinterfaceFacade{/*下面随便组装几个功能*/voidfunction12();voidfunction23();voidfunction123();}packagecom.facade;publicclassFacadeImplimplementsFacade{privateSub1sub1;privateSub2sub2;privateSub3sub3;yearsmortgagehousing;4.mortgageregistrationformalitiesarecomp
6、leted.(D)pledge1.borrower(includingthepledgor)between18-65yearsofage,withfullcivilcapacity;2.collateralpublicFacadeImpl(){super();this.sub1=newSub1Impl();this.sub2=newSub2Impl();this.sub3=newSub3Impl();}publicFacadeImpl(Sub1sub1,Sub2sub2,Sub3sub3){super();this.sub1=sub1;this.sub2=sub
7、2;this.sub3=sub3;}publicvoidfunction12(){sub1.function1();sub2.function2();}publicvoidfunction23(){sub2.function2();sub3.function3();}publicvoidfunction123(){sub1.function1();sub2.function2();sub3.function3();}}以上便是我们的外观接口和实现类,它当中的功能一般是根据是客户端的需要定制的,将客户端的一个完整功能作为一个行为,然后调用子系统完成。下面我们看看客
8、户端的调用。packag
此文档下载收益归作者所有