MVC与DAO模式

摘自:http://blog.sina.com.cn/s/blog_df1ba2640102wf55.html

        MVC即Model-View-Controller(模型-视图-控制器)是一种软件设计模式,MVC最早出现在Smalltalk语言中,后来在Java中得到广泛应用,并且被Sun公司推荐为Java EE平台的设计模式,后来Sun公司提出了两个基于MVC模式的Java Web开发模型:JSP Model1和JSP Model2。

        DAO模式(Data Access Object,DAO)通过对业务层提供数据抽象层接口。DAO模式是属于Java EE数据层的操作,使用DAO模式可以简化大量的代码编写和增加程序的可移植性,DAO模式实现了以下目标:1.数据存储逻辑的分离 2.数据访问底层实现的分离3.数据抽象 

        在这种模式中,Servlet用来处理请求的事务,充当了控制器(Controller即“C”)的角色,Servlet负责响应客户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。JSP页面处于表现层,也就是视图(View即“V”)的角色。JavaBean则负责数据的处理,也就是模型(Model即“M”)的角色Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP、JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。MVC架构Model-View-Controller架构模式是80年代中期在Smalltalk-80 GUI(一种经典的面向对象程序设计语言)实验室发明的。根据MVC模式,一个软件应该将商务逻辑(Model)和显示(View)分开。分开有许多好处,最主要的有两个方面:1、同一的商务逻辑层(Model)可能会对应多个显示层(View),如果商务逻辑层和显示层放在一起的话,再添加一个显示层的时候就会极大的增加组件的复杂性。一个商务逻辑对着两个显示层的例子是:银行的帐户的商务逻辑层对应ATM和Internet两个显示层。2、通常情况下,每次修改显示层的时候一般并不需要修改商务逻辑层。​

        不要把所有的鸡蛋放到一个篮子里面,代码何尝不是?如果把访问数据库、操作数据库和其他业务逻辑代码同时堆放在一个Servlet中,Servlet无疑非常臃肿,并且维护起来工作量非常大,程序的风险也随之增大。那么DAO模式正是解决了这个问题,DAO模式把对数据库的访问、操作和调用分别放在不同的Java类中,降低了业务逻辑与底层数据库的耦合度,便于维护,可以说DAO模式已经成为Java Web开发中应用非常广泛的一种设计模式。​

猜你喜欢

转载自blog.csdn.net/qq_28229449/article/details/83990019