开启 J2EE(七)— Model1、Model2和三层架构的演变

版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/akkzhjj/article/details/37667261

  Model1Model2Javaweb开发的两种常见的模型。Model1jsp+javabean的模式,Model2jsp+servlet+javabean的模式。

JavaBean就是将逻辑处理、数据库訪问等等,在java中对对象进行的打包(相应下文图中的业务逻辑)。

  以下就详细的认识认识:

 

一、Model1

  

  Model1模型中,是JSP为中心,这样的模型中JSP既要做页面显示。又要结合业务逻辑处理服务端过程,简单说就是Model1开发没有ServletJSP中既有HTML代码又有逻辑代码。JSP页面的交互通过页面里的链接完毕。


  Model1结构图例如以下:

 

注:业务逻辑层不同有之前三层中的业务逻辑层。这里的业务逻辑层既有业务处理又有数据訪问。

 

长处:架构相对简单。适合小项目,业务简单的项目。

缺点JSP的职责不单一,职责过重,依据设计模式的思想就是耦合性太高,不便于系统的维护。

事实上我们通常把Model1作为一个基础来学习J2EE的开发流程。

 

二、Model2

  

  由于Model1的缺点太过明显,在Model1的基础上。Model2JSP的任务进行分离,将获取參数。调用逻辑这些和页面显示无关的转到Servlet处理,JSP仅仅做显示就可以。


  Model2结构图例如以下:

 


  图中已经标出,Model2事实上MVC的应用

  在.NET中学习三层时就和MVC对照过,对MVC的理解也仅仅是通过三层去理解的MVC的语义。只是如今看来,通过对Model2的使用。事实上没有什么可比性的。可是其思想还是同样的,都通过分层去解耦,使系统变得更加灵活,更好的适应需求的变化,可以更好的进行人员分工。

 

三、三层架构


  在实际的开发过程中通常还会把当中的业务逻辑再进行分离。分出持久层(数据訪问),目的还是为了划分职责。形成我们经常使用的三层架构:

  表示层:JSP/Servlet

  业务逻辑层:业务逻辑处理

  持久层:主要包装持久化逻辑


三层结构图例如以下:

 

 

四、总结

  

  Model12和三层共同之处都在分层思想的体详细现。终于目的是在结构式去实现一个高内聚低耦合,然而到我们详细的项目开中。分层的思想,架构的依托,不仅于此,更重要的还是抽象。层与层之间最好依赖于抽象,每一层都建立一个抽象,怎样去抽象,更好的抽象,这是我们每一个人都要思考的。


posted on 2019-05-03 11:20  xfgnongmin  阅读(405)  评论(0编辑  收藏  举报

导航