开启 J2EE(七)— Model1、Model2和三层架构的演变
Model1和Model2是Javaweb开发的两种常见的模型。Model1是jsp+javabean的模式,Model2是jsp+servlet+javabean的模式。
JavaBean就是将逻辑处理、数据库訪问等等,在java中对对象进行的打包(相应下文图中的业务逻辑)。
以下就详细的认识认识:
一、Model1
在Model1模型中,是以JSP为中心,这样的模型中JSP既要做页面显示。又要结合业务逻辑处理服务端过程,简单说就是Model1开发没有Servlet,JSP中既有HTML代码又有逻辑代码。JSP页面的交互通过页面里的链接完毕。
Model1结构图例如以下:
注:业务逻辑层不同有之前三层中的业务逻辑层。这里的业务逻辑层既有业务处理又有数据訪问。
长处:架构相对简单。适合小项目,业务简单的项目。
缺点:JSP的职责不单一,职责过重,依据设计模式的思想就是耦合性太高,不便于系统的维护。
事实上我们通常把Model1作为一个基础来学习J2EE的开发流程。
二、Model2
由于Model1的缺点太过明显,在Model1的基础上。Model2对JSP的任务进行分离,将获取參数。调用逻辑这些和页面显示无关的转到Servlet处理,JSP仅仅做显示就可以。
Model2结构图例如以下:
图中已经标出,Model2事实上MVC的应用。
在.NET中学习三层时就和MVC对照过,对MVC的理解也仅仅是通过三层去理解的MVC的语义。只是如今看来,通过对Model2的使用。事实上没有什么可比性的。可是其思想还是同样的,都通过分层去解耦,使系统变得更加灵活,更好的适应需求的变化,可以更好的进行人员分工。
三、三层架构
在实际的开发过程中通常还会把当中的业务逻辑再进行分离。分出持久层(数据訪问),目的还是为了划分职责。形成我们经常使用的三层架构:
表示层:JSP/Servlet
业务逻辑层:业务逻辑处理
持久层:主要包装持久化逻辑
三层结构图例如以下:
四、总结
Model1、2和三层共同之处都在分层思想的体详细现。终于目的是在结构式去实现一个高内聚低耦合,然而到我们详细的项目开中。分层的思想,架构的依托,不仅于此,更重要的还是抽象。层与层之间最好依赖于抽象,每一层都建立一个抽象,怎样去抽象,更好的抽象,这是我们每一个人都要思考的。
posted on 2019-05-03 11:20 xfgnongmin 阅读(405) 评论(0) 编辑 收藏 举报