MVC的优点及不足之处

1、 MVC的优点

  (1)
可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。


  (2) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。

  (3)
模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。


  (4) 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。

2、 MVC的不足之处


  (1)
增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。


  (2)
视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。



  (3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。


  (4)
目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。


优点:

1)视图控制模型分离, 提高代码重用性。

2)提高开发效率。

3)便于后期维护, 降低维护成本。


4)方便多开发人员间的分工。

缺点:

1)清晰的构架以代码的复杂性为代价, 对小项目优可能反而降低开发效率。


2)运行效率相对较低

3)目前没有比较好的rich 客户端的解决方案

4)
控制层和表现层有时会过于紧密,导致没有真正分离和重用

时间: 2024-08-11 07:40:20

MVC的优点及不足之处的相关文章

基于MVC的优点Advantages of an MVC-Based Web Application

ASP.NET MVC 框架具有以下优点: 它很容易通过将应用程序划分为模型. 视图和控制器管理的复杂性. 它不使用视图状态或基于服务器的窗体.这使得 MVC 框架特别适合开发人员想要完全控制应用程序的行为. 它使用处理 Web 应用程序请求通过单一控制器前端控制器模式.这使您能够设计支持丰富的路由基础结构的应用程序.更多的信息,请参阅 MSDN 网站上的前端控制器. 它为测试驱动开发 (TDD) 提供了更好的支持. 它非常适合 Web 应用程序支持的大型团队的开发人员和 Web 设计人员需要高

Spring MVC的优点

清晰的角色划分:控制器(controller).验证器(validator).命令对象(command obect).表单对象(form object).模型对象(model object).Servlet分发器(DispatcherServlet).处理器映射(handler mapping).试图解析器(view resoler)等等.每一个角色都可以由一个专门的对象来实现. 强大而直接的配置方式:将框架类和应用程序累都能作为JavaBean配置,支持跨多个context的引用,例如,在we

大家觉得阿卡索和vipkid、51talk哪个好?各有哪些优点与不足之处

现在英语变得越来越流行,自然是有很多家长注重孩子的英语早教的.我呢,前几天被班主任叫到了学校,说孩子的英语成绩下降了很多让我多对孩子上点心,这点我确实是做得不到位,前段时间工作太忙忽视了孩子.想着最快速有效的办法就是给孩子补习,但是用什么方法好呢?听说网上的机构价格实惠服务又好,像是阿卡索.vipkid.51talk这几家机构,经常听到有人在讨论,于是决定去一探究竟.阿卡索和vipkid.51talk哪个好? 阿卡索是一家一对一英语外教在线教学,它成立于2011年,阿卡索的教学模式与传统模式不一

模式-视图-控制器模式2.0

1 MVC的实现  1.1 分析应用问题,对系统进行分离 分析应用问题,分离出系统的内核功能.对功能的控制输入.系统的输出行为三大部分.设计模型部件使其封装内核数据和计算功能,提供访问显示数据的操作,提供控制内部行为的操作以及其他必要的操作接口.以上形成模型类的数据构成和计算关系.这部分的构成与具体的应用问题紧密相关. 1.2 设计和实现每个视图 设计每个视图的显示形式,它从模型中获取数据,将它们显示在屏幕上. 1.3 设计和实现每个控制器 对于每个视图,指定对用户操作的响应时间和行为.在模型状

MVC详解(转)

原文链接:MVC详解 MVC与模板概念的理解 MVC(Model View Controller)模型-视图-控制器 MVC本来是存在于Deskt op程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC 的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新. 模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发

MVC原理和MVC模式的优缺点

一.MVC原理 mvc是一种程序开发设计模式,它实现了显示模块与功能模块的分离.提高了程序的可维护性.可移植性.可扩展性与可重用性,降低了程序的开发难度.它主要分模型.视图.控制器三层. 1. 模型(model)它是应用程序的主体部分,主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类).模型与数据格式无 关,这样一个模型能为多个视图提供数据.由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性 2.视图(view) 用户与之交互的界面.在w

java的MVC与C#

Views: @{ Layout = "~/Views/Shared/_Layout.cshtml"; } @{ ViewBag.Title = "Index"; } <h1>Index</h1> <p>This is first view</p> <div>@ViewBag.controller</div> <div>@ViewBag.action</div> Cont

MVC概述

学习MVC模式   一.MVC简介 MVC是Model-View-Controller的简称,即模型-视图-控制器.MVC是一种设计模式,它把应用程序分成三个核心模块:模型.视图.控制器,它们各自处理自己的任务. 1.模型(Model) a.模型是应用程序的主体部分,模型表示业务数据和业务逻辑. b.一个模型能为多个视图提供数据. c.由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性. 2.视图(View): 简单来说就是在页面上填写java代码实现显示. 详细来说视

MVC解决WebFrom的缺点

来自:http://www.cnblogs.com/xiaozhi_5638/p/4019065.html ASP.NET Webforms Behind Code的好处和存在的问题 ASP.NET Webforms是一个RAD/VISUAL(快速可视化)的Web程序开发技术.也就是说,开发者简单地拖拽控件到窗体设计器上,VS就会在Behind Code(aspx.cs文件,译者注)生成代码. 换句话说,你向设计器中拖放一个Button按钮后,便可以在它的事件处理程序中编写代码了. Behind