MVC知识分享

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-用户体验监控,每月100OCU免费额度
函数计算FC,每月15万CU 3个月
简介: 【6月更文挑战第6天】MVC知识分享

MVC模式是什么?

MVC(Model-View-Controller)模式是一种软件设计模式,用于将应用程序的数据、业务逻辑和用户界面分离,以便于提高代码的可维护性和可扩展性。在MVC模式中,通常包含以下三个主要组成部分:

  • Model(模型):负责处理数据和业务逻辑,通常包含数据库对象的实体类以及一些用于存储非数据库表完整相关的VO对象。
  • View(视图):负责展示数据,通常包含用户界面相关的代码,如HTML、CSS、JS等。在前后端分离的项目中,后端的视图文件可能已经迁移到前端项目中。
  • Controller(控制器):负责接收用户输入,调用模型和视图去完成用户的请求,通常包含接收客户端请求、获得请求数据和将准备好的数据响应给客户端的代码。

MVC模式的优缺点

MVC模式的优点包括:

  • 关注点分离:将数据、业务逻辑和界面显示分离,降低耦合度。
  • 易于维护:每个组件负责特定的任务,便于单独开发和维护。
  • 可扩展性:可以独立地替换或更新模型、视图或控制器。

然而,MVC模式也有其缺点:

  • 可能增加复杂性:对于简单项目,引入MVC可能会增加不必要的复杂性。
  • 性能问题:如果不正确使用,可能会导致性能问题。

MVC模式的使用场景

MVC模式适用于需要清晰分离数据、业务逻辑和用户界面的大型应用程序开发。在现代Web开发中,MVC模式被广泛采用,例如在Java Web、Ruby on Rails、Laravel等框架中都有实现。

(1) 什么是MVC?

      MVC是一种设计思想,根据职责不同将程序中的组件分成以下3个部分。

      V(View视图):负责与用户交互。将数据展现,或者是接收数据

      M(Model模型):负责业务处理。业务模型,数据模型

      C(Controller控制器):负责协同模型和视图工作。视图有请求调用模型处理,模型处理完毕调用视图响应。

(2)为什么使用MVC?

     MVC是一个非常优秀的设计思想,基于该思想架构程序,可以提高程序的结构灵活性,便于日后维护、扩展和升级。

注意:下面内容助于理解:

1)  一个模型可以被多个视图共享模型只负责输出数据,不关心数据的表现形式,同一仹数据,可以使用多个不同的视图展现给用户。模型只负责处理数据,不关心是谁在调用,可以使用多种不同的界面来调用模型。

2)  方便测试

   模型一般使用java 类来开发,在开发完成之后,可以立即测试。如果业务逻辑直接写在servlet里面,则需要部署在服务器上面才能测试,比较麻烦。

3)  组件复用

   控制器可以做成一个通用的模块。

4)  代码好维护,利于分工协作。

   按照 mvc 的思想,可以对程序迚行分层,一般划分成表示层(包括 v,c)、业务层(m中的业务逻辑部分)、持久层(m中的数据访问逻辑部分)。下一层的代码发生改变,只要接口不变,不会影响到上一层的代码。

mvc的缺点

1)  采用 mvc 以后,会增加代码量,相应的开发周期以及开发的成本会相应增加。

2)  使用 mvc,需要良好的设计。如果设计不当,会增加开发的难度。

在表示层Servlet中调用业务层代码的接口,当业务层发生改变时不影响Servelt ;在业务层Service中调用DAO的接口,DAO发生改变不影响Service和其上层

结论

一般来说,如果一个程序需要良好的架构,需要良好的代码的可维护性及可扩展性,需要使用mvc思想来架构。反之,则不必使用。

目录
相关文章
|
Java 容器
mvc02
mvc02
46 0
|
7月前
|
前端开发 搜索推荐 数据格式
什么是MVC
什么是MVC
|
前端开发 网络架构
什么是MVC-02
什么是MVC-02
65 1
|
存储 前端开发
什么是mvc
什么是mvc
214 0
|
前端开发
【MVC】初识
【MVC】初识
67 0
|
设计模式 前端开发 Java
|
设计模式 JavaScript 前端开发
浅析MVC
浅析MVC
134 0
浅析MVC
|
存储 开发框架 前端开发
MVC系列之开始
MVC系列之开始
155 0
MVC系列之开始
|
前端开发
艾伟_转载:[一步一步MVC]第六回:什么是MVC(上)?
本系列文章导航 [一步一步MVC]第一回:使用ActionSelector控制Action的选择 [一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理 [一步一步MVC]第三回:MVC范例大观园 [一步一步MVC]第四回:漫谈ActionLink,有时“胡搅蛮缠” [一步一步MVC]第五回:让TagBuilder丰富你的HtmlHelper [一步一步MVC]第六回:什么是MVC(上)? 引言 所谓MVC,其实就是M、V、C而已。
1009 0
下一篇
DataWorks