初识MVC

2023-07-08 18:42:11 浏览数 (3)

1 MVC概念

MVC(Model View Controller)是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:

  • 模型(Model)
  • 视图(View)
  • 控制器(Controller)

  • Model (模型
    • 用javabean实现,用于封装业务数据,完成具体的业务逻辑操作。
    • 例如:查询数据库,封装对象
  • View (视图)
    • JSP实现,用于显示数据。
    • 例如:用户实际上看到的网页信息或用户界面。
  • Controller (控制器)
    • 用Servlet实现,用于调度Model和View,负责请求转发。
    • Controller只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。因此控制器就相当于调度员一样,负责调用model和view工作一样。
    • Controller存在的目的则是确保Model和View的同步,一旦Model改变,View应该同步更新。

2 MVC和三层架构的区别

  • 三层架构是基于业务逻辑来分的,而MVC是基于页面来分的。
  • 三层模式可归于部署模式,MVC可归于表示模式
  • 无论是MVC还是三层架构,都是一种规范,都是奔着高内聚,低耦合的思想来设计的。

3 MVC架构模式的工作流程

  1. 用户通过View页面向服务端提出请求,可以是表单请求、超链接请求、AJAX请求等。
  2. 服务端Controller控制器接收到请求后对请求进行解析,找到相应 的Model对用户请求进行处理。
  3. Model处理后,将处理结果再交给Controller
  4. Controller在接到处理结果后,根据处理结果找到要作为向客户端发回的响应View页面。页面经渲染(数据填充)后,再发送给客户端

4 为什么要用MVC

  • 早期只有servlet,只能使用response输出标签数据,非常麻烦
  • 后来有jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,又写html,造成难于维护,难于分工协作
  • 再后来,javaweb开发,借鉴mvc开发模式,使得程序的设计更加合理性

5 MVC设计模式优点

  • 降低代码耦合性
    • 在 MVC 模式中,三个层各司其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应层的代码而不会影响到其他层的代码。
  • 有利于分工合作
    • 在 MVC 模式中,由于按层把系统分开,那么就能更好的实现开发中的分工。
    • 网页设计人员可进行开发视图层中的 JSP,而对业务熟悉的人员可开发业务层,而其他开发人员可开发控制层
  • 有利于组件的重用
    • 如控制层可独立成一个能用的组件,表示层也可做成通用的操作界面。可以为一个模型在运行时同时建立和使用多个视图。

1 人点赞