谈谈对MVC的理解(View+Model+Controller)

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,需要良好的设计。如果设计不当,会增加开发的难度。

结论

一般来说,如果一个程序需要良好的架构,需要良好的代码的可维护性及可扩展性,需要使用mvc

思想来架构。反之,则不必使用。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吃下去的东西老是往上翻上来_食管裂孔疝的这个诱因你知道吗?医生:不要再吃过烫的食物...

食管裂孔疝的忌吃辣门诊遇见一个爱吃热、辣食物的患者。她自述饭后老是反酸水呕吐,本来以为只是普通胃病,最近到我们医院一查,结果让她大吃一惊,本在腹腔的胃竟然有部分“跑”进了胸腔!两年多前,这个女士发…

物理搬砖问题_全职业通用,搬砖市场装备

更多原创文章可关注微信公众号:地下城勤帝 查看大家好,我是勤帝,我只写大家能看懂的文章搬砖市场的角色更新了一些,装备都有所不同,今天我给大家一个可以通用的装备,这套装备虽然成型不快,但是…

Oracle中表连接的方式有哪些

内连接(自然连接) 等值连接、自然连接和不等值连接 {内连接是join 关键字连接两个表,语法为 table1 join table2 on 条件。 根据使用的比较方式不同,内连接又分为等值连接、自然连接和不等值连接。 等值连接:所谓等值连接&…

快手通过标签添加的我_快手怎么上热门?快手短视频推荐指标有哪些?

“快手怎么才能上热门?快手上热门都有哪些技巧?”其实这些问题,除了通过提高短视频质量,还可以通过分析推荐指数的方式解决。运营者想要有效提升短视频的播放量,想让快手短视频快速上热门,还可以从推荐指数…

JAVA的数据类型有哪些?

⑴基本数据类型(八种): 整型: byte 1字节, short 2字节, int 4字节, long 8字节 浮点型: float 4字节, double 8字节 【float 类型共 32位(不 int相同),其中 1位为符号位…

python机器学习算法.mobi_机器学习之ID3算法详解及python代码实现

在生活中我们经常会用到决策树算法,最简单的就是二叉树了;相信大家也会又同样的困扰,手机经常收到各种短信,其中不乏很多垃圾短信、此时只要设置这类短信为垃圾短信手机就会自动进行屏蔽、减少被骚扰的次数,同时正常短…

java中的4种访问制权限有哪些?分别作用范围是什么?

(1).public:最大访问控制权限,对所有的类都可见。 (2).protect:修饰的,在类内部、同一个包、子类中能访问 (3).default:包访问权限,即同一个包中的类可以可见。默认不显式指定访问控制权限时就是default包…

打docker镜像_从安全到镜像流水线,Docker 最佳实践与反模式一览

作者 | Timothy Mugayi译者 | 弯月,责编 | 夕颜封图 | CSDN付费下载自视觉中国出品 | CSDN(ID:CSDNnews)在使用Docker的大部分时间里,我们并不关心其内部的工作原理。仅凭启动一个Docker容器并且让应用程序运行良好,并不能说明你已经实现了一…

JAVA重载和重写的区别?

重载:方法名相同,参数不同(参数类型或者长度) 重载和修饰符和返回类型无关。 一是方法的参数列表必须改变,包括参数的类型,参数的个数多少,参数顺序。 二是重载对返回类型,访问修饰…

详细关闭iiop方法_疏通暖气片堵塞的方法,看完你就知道了!

冬季几乎家家户户都会安装暖气片来进行采暖,但在使用过程中,通常会出现暖气片被堵,用户不知道被堵的原因又不知从哪下手,今天金旗舰旗哥带大家来了解一下暖气片被堵塞的原因及疏通方法。一、堵塞暖气片的原因:1、暖气片…

谈谈对集合框架的理解?

集合框架包括集合不映射(Collection and Map) List 元素有先后次序的集合, 元素有 index 位置, 元素可以重复,继承自 Collection 接口,实现类: ArrayList, Vector, LinkedList List 表示有先后次序的对象集合 ArrayList是使用变长数组算法…

17 软件源_9成职场人支持“准点下班”,2020年度职场报告:工作是最大焦虑源

如果所有人都拒绝996,能否改变职场内卷生态?职场社交平台脉脉站内的数据显示,在一则:“准点下班VS加班谁才是好员工”的问答中,8.1万的投票者选择“准点”下班,占89%;只有9968名投票者认为“加班…

前端三大框架

一、web前端之Angularjs框架 如果您对最新的web开发技术有所了解,那么Angularjs对您来说是一个熟悉的名称。AngularJS是一个客户端的JavaScript MVC开源框架,特别为使用MVC架构模式的单页面web应用而设计,可用于开发动态Web应用程序。它不是…

js如何在当前页面加载springmvc返回的页面_手写SpringMVC学习

前面我们学习了spring框架源码,做了一些自己手写的学习,最近,我们开始学习springMVC框架的学习 ,springMVC框架,相信大家不陌生了,所以这里不做过多的介绍了。SpringMVC以DispatcherServlet为核心&#xff…

用python做简单的地理聚类分析案例_用Python做一个简单的翻译工具

编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获。本文就来自编程教室一位“小”读者的投稿(互助学习1群里的同学应该对作者的名字很熟…

echarts柱图根据值显示不同颜色_视频 | Origin画3D柱图,这篇讲透了!

视频教程东华大学的汪博士提出一个问题:怎样画三维柱状图。汪博士提供了一篇王中林院士的文献图,画一个只有四根柱子的三维柱图。画了一个草图,A0、A1安排在第二行,A3、A2安排在第一行。相信很多同学在画3D柱图时,都很…

javaScript基本操作

反向字符串 const stringReverse str > str.split("").reverse( ).join("");stringReverse(hello world); /*dlrow olleh*/ 滚动到页面顶部 const scrollToTop ( ) > window.scrollTo(0, 0);scrollToTop( ); 删除数组中的重复项 const remo…

按钮点击打开新页面_PDF怎么打开?如何制作一个PDF格式的文档?

不知你是否也一样,无论是在网上下载资料还是其他人发送的文件都是PDF格式的。但是应该如何打开PDF文件呢?如何自己制作一个PDF格式的文档呢?首先说一下如何打开PDF格式的文件,电脑端就比较简单的,直接下载PDF阅读器后&…

YOLOv8 如何进行多任务合并:分割与检测合并进行自动驾驶

文章大纲 多任务的合并:分割与检测合并进行自动驾驶Update:The Illustration of A-YOLOMContributionsResultsParameters and speedTraffic Object Detection ResultDrivable Area Segmentation ResultLane Detection Result:Ablation Studies 1: Adaptive concatenation modu…

android 根据bounds坐标进行点击操作_炫酷的Android时钟UI控件,隔壁产品都馋哭了...

废话不多说,先上效果效果酷炫,动画丰富,效果爆炸boom~设计思路看腻了市面上各种丑陋难看的时钟控件,是时候整点新活!将现实生活中的摆钟圆形表盘设计、电子手表的数显表盘设计抽象出来,提取出“…