`
androidssh
  • 浏览: 112159 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mvc原理和mvc模式的优缺点

    博客分类:
  • mvc
阅读更多
一、mvc原理
  mvc是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分模型、视图、控制器三层。
1、模型(model)它是应用程序的主体部分,主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性
2、视图(view) 用户与之交互的界面、在web中视图一般由jsp,html组成
3、控制器(controller)接收来自界面的请求 并交给模型进行处理 在这个过程中控制器不做任何处理只是起到了一个连接的做用

二、MVC的优点
1、可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。
2、视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。
3、模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。
4、潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。

三、MVC的不足之处
1、增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
2、视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
3、视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
4、目前,一般高级的界面工具或构造器不支持模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成MVC使用的困难。
分享到:
评论

相关推荐

    MVC的优缺点

    MVC的原理及优缺点介绍 。模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。

    MVC架构在JSP+JavaBean开发模式中的应用 Application of MVC Framework in JSP+JavaBean Model

    在介绍Model-View-Controller(MVC)架构原理的基础上,分析了用Java开发Web系统的两种模式,提出将MVC架构思想融入JSP+JavaBean开发模式的方案。该方案能够发挥JSP+JavaBean代码编写容易、重复利用性高的优点,同时有效...

    SpringMVC常见知识点.md

    - Spring MVC的优缺点? - 什么是DispatcherServlet? - Spring MVC有哪些组件?(见:DispatcherServlet源码) - 简述SpringMVC原理/执行流程 - Spring MVC 拦截器是什么 / 有什么作用 / 与 Filter有什么区别? - @...

    观察者模式(Observer)原理图

    这种模式通常用于实现分布式事件处理系统、MVC 模型等。在这种模式中,一个对象(称为主题或可观察对象)维护一系列依赖于它的对象(称为观察者),并在状态发生变化时自动通知它们。 观察者模式的优点包括: 降低...

    Java面试宝典和毕设PPT模板

    数据库:掌握SQL语言和数据库基本概念,了解关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)的使用和优缺点。 Web开发:熟悉Java的Web开发框架和技术,如Spring MVC、Servlet、JSP、RESTful ...

    Struts原理、开发及项目实施

    9-12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点 9、 Struts项目实施经验 10、 总结...

    【计算机软件毕业设计】二手车交易平台的分析、设计与实现文献综述1.doc

    关键词:SSH集成框架 Web 1主流Web开发框架分析 1.1 MVC结构模式和WebWork框架 2012年王欢认为MVC的工作原理是,使用MVC时,当用户向Web容器发送一个请求后, Web容器会根据请求和地址去调用一个Servlet进行处理,...

    Vue面试题,干货(附答案)

    ● vue2中响应式原理 Object.defineProperty来实现的 (缺点就是需要将整个对象递归的增加get和set 针对的属性 )。 vue中对 象采用了defineProperty,数组并没有采用(重写数组的7个方法),因为可能会有性能问题. ...

    基于Struts和Hibenate的遥感信息发布系统研究

    摘要本文分析了传统Web信息系统的缺点,详细阐述了MVC设计模式思想,剖析了当前被广泛应用的开源设计框架:Struts和Hibernate的工作原理,基于以上分析提出将二者结合起来实现优势互补共同开发遥感信息发布系统的...

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    asp.net知识库

    动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...

    java面试题

    Struts2是如何实现MVC模式的? 答:在Struts2里面是将每次页面的请求进行处理,然后将请求需要输出的数据转发到需要做数据显示的页面。Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    ASP.Net MVC是微软推出的区别于ASP.Net WebForm的Web开发新技术,由于ASP.Net MVC解决了ASP.Net WebForm的很多缺点,非常适合大型、中型项目的开发,一经推出就受到了.Net开发社区的追捧,很多.Net开发人员的职位...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【架构】简单描述MVC模式 120 【架构】RPC的介绍 121 什么叫RPC 121 RPC流程 121 【架构】SOA介绍 122 【Redis】redis五种常见的数据类型详解 123 String字符串类型 124 List列表类型 126 Set集合类型 128 Hash散列...

    千方百计笔试题大全

    37、垃圾回收的优点和原理。并考虑2 种回收机制。 11 38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 12 39、String s=new String(“xyz”);创建了几个...

    java面试宝典

    37、垃圾回收的优点和原理。并考虑2 种回收机制。 11 38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 12 39、String s=new String(“xyz”);创建了几个...

    用jsp开发与实现教学管理系统

    1.1 Struts的MVC模式简介…………………………………………………………………… 5 2. Struts的优缺点 …………………………………………………………………………………… 6 3. Struts的工作流程……………………...

Global site tag (gtag.js) - Google Analytics