标签:blog io ar java sp 数据 2014 on cti
外观模式是一种比较容易理解的模式,作用很简单,就是解耦合。
结构也是非常简单,一个外观类,这个外观类持有很多的业务类。
再由客户类去调用这个外观类去实现一些列的业务操作。。。
这个模式在我们的工作中非常常见,一般来说,我们的项目都是分成了Action(conlller)层,service层,dao层。。
dao层负责与数据库交互,service层负责调用dao层的数据库操作,一般来说一张表对应一个dao,在一个serice层代码中,可以不止有单独的对某一张表,所以可能调用多个dao进行业务操纵,那么serivce类就相当于dao类的外观类,有了这个外观类,你可以把dao类直接都独立开来,不需要把不同表的SQL语句杂糅起来,对于程序的架构分层有很好的效果。
而Action类就相当于是客户类,他只负责调用service类的一个方法即可,就可以实现你的功能。
用个最简单的代码来表示一下。
2个dao类
public class DaoB { publicvoid insertTableB(){ System.out.println("InsertTableB"); } }
public class DaoB { publicvoid insertTableB(){ System.out.println("InsertTableB"); } }
service
public class Service { privateDaoA daoA = new DaoA(); privateDaoB daoB = new DaoB(); publicvoid biz(){ daoA.insertTableA(); daoB.insertTableB(); } }
action
public class Action { publicstatic void main(String arg[]){ Serviceservice = new Service(); service.biz(); } }
运行结果:
Insert TableA
Insert TableB
其实在我们的工作当中经常用到,但是你并不知道这一种外观模式,这样做的目的还是我们上文所说的,解耦合,让一个类做一个类的事情。
标签:blog io ar java sp 数据 2014 on cti
原文地址:http://blog.csdn.net/lulei9876/article/details/40182305