• MVC是 Model-View-Controller的简称,即 模型-视图-控制器。
• MVC它是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。
MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。
MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小。MVC结构本来是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。但是,将这些概念运用于基于Web的企业级多层应用领域也是很适合的。
在MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。
当模型发生改变时,它会通知视图(View),并且为视提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。
一个视图(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视负责维持数据表现的一致性。视同时将用户要求告知控制器(Controller)。
控制器(Controller)定义了应用程序的行为;它负责对来自视的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视作为对用户请求的应答。通常一组相关功能集对应一个控制器。
MVC的处理过程:
• 首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
• 然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。
• 最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。
MVC的优点:
• 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
• 由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。
• 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。
MVC的适用范围:
• 使用MVC需要精心的计划,由于它的内部原理比较复杂,所以你需要花费一些时间去理解它。将MVC运用到你的应用程序,会带来额外的工作量,增加应用的复杂性。
• 但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序,MVC将会使你的软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软件开发的效率。
- 描述: mvc结构图
- 大小: 7.2 KB
分享到:
相关推荐
**PureMVC框架特点** PureMVC框架引入了命令模式、观察者模式和代理模式等设计模式,使得MVC模式在实际应用中更加灵活和强大: 1. **命令模式**:将操作封装为命令对象,便于管理和复用。当收到事件通知时,调度...
**禅道PHP MVC框架特点** 禅道PHP MVC框架可能具备以下特性: 1. **轻量级**:禅道框架可能设计得简洁高效,不需要大量依赖库,便于快速开发和部署。 2. **可扩展性**:通过模块化设计,禅道可能支持插件系统,...
**.NET MVC框架1.0正式版** **.NET MVC框架**(Model-View-Controller)是微软推出的一款用于构建可测试、可维护的Web应用程序的开源开发框架。该框架在2009年发布了1.0正式版,旨在提供一个更加灵活、可扩展的替代...
MVC 框架在 Python 与 Django 下的设计研究 摘要:随着互联网技术的蓬勃发展,其在生活中的应用范围愈发广泛,且发挥着巨大的作用。同时它催生了大量的新型产业,如通过 Web 技术开发的各种购物软件、音乐软件、...
**MVC框架详解** 在软件开发领域,MVC(Model-View-Controller)框架是一种广泛应用于Web应用设计的模式,它的主要目标是分离业务逻辑、数据处理与用户界面,从而提高代码的可维护性和可扩展性。在这个实例中,我们...
本篇文章将详细介绍如何利用Nutz搭建MVC框架,并探讨其在实际开发中的优势。 **一、Nutz MVC框架介绍** Nutz MVC是Nutz框架的一部分,它基于Servlet容器运行,通过注解驱动,简化了Java Web应用的开发流程。Nutz ...
**.NET MVC框架的特点** 1. **分层架构**:MVC模式使得开发过程更加模块化,易于理解和维护。 2. **可测试性**:由于模型与视图和控制器的分离,可以轻松地对每个组件进行单元测试。 3. **路由系统**:.NET MVC提供...
【标题】:“自己写的一个MVC框架” 【描述】:“放寒假的时候写的一个像struts基本功能的框架!!!” 这个描述中提到的“MVC框架”是指模型-视图-控制器(Model-View-Controller)架构模式,这是一种广泛应用于...
**TinyMVC框架特点** 1. **轻量级**:TinyMVC设计简洁,占用资源少,适合快速开发小型项目。 2. **易用性**:通过简单的目录结构和命名约定,开发者可以快速上手。 3. **数据库操作**:TinyMVC提供了一套简单易用的...
超轻量级MVC框架则是这类框架的一个简化版本,旨在提供核心功能,减少不必要的复杂性,提高开发效率。 "超轻量级MVC框架的设计和实现(源码)"是针对这个概念的一个具体实例,它强调了框架的简洁性和无XML配置特性。...
ASP.NET MVC框架是一种用于构建高性能、可维护性和测试性良好的Web应用程序的开发框架。它结合了ASP.NET Web Forms的功能和模型-视图-控制器(MVC)设计模式的优势,为开发者提供了更多的灵活性和控制权。Taurus.MVC...
ASP.NET MVC框架特点** - **可测试性**:ASP.NET MVC框架支持单元测试和集成测试,每个组件(模型、视图、控制器)都可以独立测试,有利于提高代码质量。 - **强类型视图**:视图与数据模型之间有强类型关系,...
ASP.NET MVC框架特点** - **路由系统**:ASP.NET MVC提供了灵活的URL路由机制,允许开发者自定义URL结构,使URL更符合RESTful原则。 - **动作过滤器**:允许在控制器动作前后添加逻辑,如授权、日志记录和缓存。 - ...
**Spring MVC框架** Spring MVC是Spring框架的核心组件之一,它的设计目标是简化Web应用的开发。其主要特点包括: 1. **模型-视图-控制器结构**:Spring MVC通过定义模型、视图和控制器的角色来组织应用。模型负责...
本篇文章将探讨使用MVC框架开发租房网站的关键技术点,包括对Servlet、JSP、JavaBean以及自定义MVC框架的理解。 首先,我们从Servlet开始。Servlet是Java Web应用的基础,它是一个Java类,用于处理HTTP请求并生成...
### ASP.NET MVC框架知识点 #### 一、ASP.NET MVC框架简介 ASP.NET MVC框架是一种用于构建Web应用程序的软件框架,它基于模型-视图-控制器(Model-View-Controller,简称MVC)设计模式。MVC模式最早由Trygve ...
【G-Framework:国产PHP MVC框架详解】 G-Framework是一个专为PHP开发者设计的轻量级、高效且易于上手的国产MVC(Model-View-Controller)框架。它的核心目标是提供一种简洁的开发模式,使开发者能够快速构建稳定、...
#### 二、MVC框架的工作原理 在PHP MVC框架中,通常会有一个中央控制器(如`index.php`),它负责接收用户的所有请求。控制器根据请求参数加载相应的模型和视图,执行相应的业务逻辑,并最终呈现给用户。 例如,一...
#### 三、ASP.NET MVC框架的特点 1. **关注点分离(Separation of Concerns)** - 通过将应用程序的不同方面(如数据逻辑、用户界面和用户输入处理)分离到不同的组件中,使得代码更容易理解、测试和维护。 2. **...