在DRP视频里介绍了java 两种开发模式,即Model1与Model2 。他们的不同之处在于Model1将表示层与业务逻辑层结合起来。而Model2在它的基础上将业务逻辑层进行了分离。下面就简单介绍一下他们各自的体系结构。
Model1即以JSP为中心的开发模型。在Model1体系中, 客户端直接与JSP页面打交道,负责响应用户请求并将处理结果返回给用户。除此之外,渲染页面、数据验证、业务逻辑处理等也是由它来完成。而 这样照成的结果,在JSP页面上混合了大量的java和HTML代码。
优点:
1.大部分功能由JSP页面完成,需要建立的类较少,开发快、简单。
2.适合小规模企业开发
缺点:业务逻辑与表示逻辑强强耦合,导致代码的重用性低,不利于维护与扩展。
Model2模式基于模型视图控制器(MVC,Model-View-Controller)的设计模式。在Model2的体系中,把一个Web项目分成三层,包括模型层(javaBean构成,包括dao)、视图层View(JSP页面)、控制层(Servlet构成)。如下图所示:
那么Model2的处理过程是怎么样的呢?客户请求主要是与Servlet打交道。Servlet就相当于是一个控制器,负责管理对请求的处理,创建JSP页面需要使用的对象。同时根据请求的业务需求决定把哪个JSP页面传给请求者。
优点:
1.将控制层从Model1体系中独立出来。提高代码重用率、扩展性,降低了项目的维护成本;
2.三层各司其职,互不干涉
缺点:不适合小型企业项目开发
总结:Model1与Model2本质区别其实在于分层的思想。现在人们开发的软件更多的是以工程的思想进行,所以开发的项目是否可维护、可重用、可扩展越来越受人追捧。恰恰Model2(MVC)的分层思想正好也体现了这一点,而且这种分层思想,能够更好的适应需求变化、能够更好的进行人员分工、以及更好的管理。例如懂美工的可专门负责界面设计方面,懂逻辑的负责逻辑,懂数据库的负责数据库。
原文:http://blog.csdn.net/mingxuanyun/article/details/38638963