浅谈MVC模式与SSH框架

 

一.MVC的理解

   为什么会有MVC模式?前辈们经过多年的开发经验,发现WEB开发主要涉及三个方面。第一,得有界面,也就是视图层(View),它负责展示数据给用户和接收用户的请求;第二,得有控制,也就是控制层(Control),它负责调度和分配,用户发出的请求由谁(方法)去完成,完成后用哪个视图(jsp,html)展示处理的结果。第三,得有处理方法,也就是模型层(Model),它负责处理用户发出的请求,必要时返回处理的结果数据。为什么要分层呢?答案是为了提高开发效率,如今写软件已经不是一个人写了,而是团队,做软件也变成了一项工程,分层后,相当于流水线作业,不同的人负责不同的部分,俗话说,术业有专攻。

分层后,代码逻辑也容易理解,并且有利于软件的维护和复用。

 

图 1

二.SSH框架的理解

首先得先说说框架是什么?为什么要用框架?框架就类似修高楼大厦的时候,基本全部是柱子,而我们在框架里写代码就类似加隔断墙。小软件就类似小房子,往往不需要这么多柱子。框架说白了,就是一堆已经写好了的代码,你直接拿来用就可以了。

2.1 Struts框架

Struts框架是为了简化MVC模式的,MVC模式三个部分互相有关联,代码耦合度高。使用了Struts框架后的MVC模式如下图所示

 

图 2

从图1和图2的对比中,我们发现它解耦了M层和V层。并且选择视图只需要返回视图的名称就可以了。

2.2 hibernate框架

在MVC模式中,人们把与数据库相关的操作从M层中分离出来,单独形成了Dao层,这样别的Model可以复用Dao。

Hibernate的目的不像struts一样是解耦,它的目的是在M层和Dao层之间的数据建立对应关系,我们不用再把实体对象拆开来放到数据表中,也不用把数据表中查询到的数据组装成实体对象,Hibernate替我们对数据表和实体对象建立了映射。

2.3 spring 框架

Spring的主要目的是为我们创建对象,我们无需再用new来创建对象,而是用spring来创建,它管理对象的整个生命周期,无需我们关心对象的创建和销毁。我们需要使用哪个类的对象,只需在配置文件中导入,并提供该对象的set方法。

posted on 2017-08-16 18:23  xiaoaps  阅读(3396)  评论(0编辑  收藏  举报