云社区 博客 博客详情

我们常说的MVC是什么

Jack20 发表于 2021-02-12 10:38:33 2021-02-12
0
1

【摘要】 (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思想来架构。反之,则不必使用。

登录后可下载附件,请登录或者注册

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

上一篇:几个小实践带你两天快速上手MindSpore(下)

下一篇:SSH 组合框架模式小知识分享

评论 (0)


登录后可评论,请 登录注册

评论