菜鸟版JAVA设计模式—外观模式
2017-05-04 09:34
183 查看
外观模式是一种比較easy理解的模式,作用非常easy。就是解耦合。
结构也是非常easy,一个外观类。这个外观类持有非常多的业务类。
再由客户类去调用这个外观类去实现一些列的业务操作。。。
这个模式在我们的工作中很常见,一般来说。我们的项目都是分成了Action(conlller)层。service层,dao层。
。
dao层负责与数据库交互,service层负责调用dao层的数据库操作,一般来说一张表相应一个dao。在一个serice层代码中,能够不止有单独的对某一张表。所以可能调用多个dao进行业务操纵,那么serivce类就相当于dao类的外观类,有了这个外观类。你能够把dao类直接都独立开来,不须要把不同表的SQL语句杂糅起来,对于程序的架构分层有非常好的效果。
而Action类就相当于是客户类,他仅仅负责调用service类的一个方法就可以,就能够实现你的功能。
用个最简单的代码来表示一下。
2个dao类
service
action
执行结果:
Insert TableA
Insert TableB
事实上在我们的工作其中经经常使用到,可是你并不知道这一种外观模式,这样做的目的还是我们上文所说的,解耦合,让一个类做一个类的事情。
结构也是非常easy,一个外观类。这个外观类持有非常多的业务类。
再由客户类去调用这个外观类去实现一些列的业务操作。。。
这个模式在我们的工作中很常见,一般来说。我们的项目都是分成了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
事实上在我们的工作其中经经常使用到,可是你并不知道这一种外观模式,这样做的目的还是我们上文所说的,解耦合,让一个类做一个类的事情。
相关文章推荐
- 菜鸟版JAVA设计模式—外观模式
- Java设计模式菜鸟系列(九)外观模式建模与实现
- Java设计模式(5) -- 外观
- Java设计模式之外观模式
- JAVA设计模式十九--Facade(外观模式)
- Java之美[从菜鸟到高手演变]之设计模式
- java 设计模式学习笔记七 facade外观模式
- Java设计模式之外观模式
- Java程序员从笨鸟到菜鸟之(三十二)大话设计模式之设计模式分类和三种工厂模式
- JavaGUI图形化界面外观模式设计资源库
- Java程序员从笨鸟到菜鸟之(三十一)大话设计模式之设计模式遵循的七大原则
- Java之美[从菜鸟到高手演变]之设计模式
- Java设计模式-----Facade外观模式
- java设计模式之外观模式Facade
- Java设计模式之外观模式研究
- Java设计模式(五)Facade(外观),Composite(组合),Decorator(油漆工)
- Java程序员从笨鸟到菜鸟之(三十一)大话设计模式(一)设计模式遵循的七大原则
- Java程序员从笨鸟到菜鸟之(三十二)大话设计模式(二)设计模式分类和三种工厂模式
- java 设计模式学习笔记七 facade外观模式
- JAVA设计模式——外观模式