我们常说的MVC是什么

举报
Jack20 发表于 2021/02/12 10:38:33 2021/02/12
【摘要】 (1) 什么是MVC?       MVC是一种设计思想,根据职责不同将程序中的组件分成以下3个部分。       V(View视图):负责与用户交互。将数据展现,或者是接收数据       M(Model模型):负责业务处理。业务模型,数据模型,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。       C(Controller控制器):负责协同模型和视图工作...

(1) 什么是MVC?

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

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

       M(Model模型):负责业务处理。业务模型,数据模型,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

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

使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。

image.png

(2)为什么使用MVC?

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

MVC的优点:

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

2)  方便测试

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

3)  组件复用

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

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

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


MVC的缺点:

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

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

image.png

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


结论

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200