系统分析与设计——MVC与WEB

来源:互联网 发布:郑州java程序员工资 编辑:程序博客网 时间:2024/04/27 07:31

WEB开发三层架构

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:

  • 表现层(UI):展现给用户的界面。
  • 业务逻辑层(BLL):针对业务的操作,处理数据业务逻辑。这一层是web开发的核心,包括对业务逻辑的梳理,各个功能块的实现。
  • 数据访问层(DAL):直接操作数据库(或文件),例如增删改查。



MVC模式(Model-View-Controller)软件架构

MVC架构主要是利用控制器来改变模型和视图,从而简化过程,减少错误,降低程序复杂性。

  • (控制器Controller)- 负责转发请求,对请求进行处理。
  • (视图View) - 界面设计人员进行图形界面设计。
  • (模型Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

File:ModelViewControllerDiagramZh.png


MVC在WEB开发中的作用

传统的MUV架构主要 针对单机的客户端程序,用户提交信息给V,C随后也得到数据并改变M,最后,这个值得注意,是M控制V,并最后呈现新的页面给用户。下图是“传统MVC架构图”:

但是在Web世界中这种经典的MVC模式就不合理了,因为在Web设计中,V是在客户端的浏览器中生成的,C和M则是在服务器,它们之间的交互是通过网络传输来完成。或者简单的说,如果用户不点击按钮,即使后台的M已经改变,那么页面也不会刷新,即,M无法再控制V。
在web中的新的MVC架构是通过分发器来接收数据,同时将V移到服务器端。这里可以看到一个明显的区别,就是接收数据的对象由V变为分发器。而经过M控制的V在得到最新数据后,才向浏览器输送新的页面信息。下图是“web中的MVC经典架构图”:

实际上,我们可以看出,在传统的MVC构架中,由于V要接收数据,它的功能也有了C甚至M的部分,而引入控制器后,本质上就是让M\V\C三者的功能更加分离,更加清晰,因而可以使程序设计更合理。

0 0
原创粉丝点击