`
aijuans
  • 浏览: 1566134 次
社区版块
存档分类
最新评论

Web开发之MVC框架

阅读更多

 什么是MVC框架?

 

    在这里我简要的说明一下,想要详细的了解MVC的小伙伴们可以上百度百科,或者找来相应的书籍,仔细研究和理解一下,但是要说明的的一点是,完全理解MVC并不是一件容易的事。

 

         MVC的全称为Model View Controller,是模型-视图-控制器的缩写,一种软件框架模式,通俗点讲,就是将应用程序的输入、处理和输出进行解耦,使MV的实现代码分离,从而使同一个程序可以使用不同的表现形式。

 

    简单来说一下MVC框架的三个核心部件的内容,即ModelViewController。它们各自处理自己的任务,因此可以使不同的开发人员可以同时开发视图、控制器逻辑和业务逻辑。

 

        Model 是指要处理的业务代码和数据操作代码

        View 视图主要是指能够跟用户打交道并能够展示数据

        Controller看成是ModelView的桥梁,接受用户的输入并调用模型和视图去完成用户的需求。

 

   如何使用MVC编程?

 

    既然MVC是一个通用的框架,那么我们就可以通过VS去创建一个使用MVC框架的解决方案,然后编写自己的代码,实现要求的功能。

 

    首先,打开VS,新建项目如下图所示:


    点击确定之后会看到右侧的解决方案资源管理器中已经为我们自动创建好了MVC框架,如下图所示:


    然后我们就可以在相应的文件下创建模型、控制器和视图了。

    来看一个小例子,我们在文件夹Controllers上右键添加一个控制器,如下图所示:



    然后在Models文件中添加一个实体类,代码如下:

 

[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <span style="font-size:18px;">namespace MVCBlog.Models  
  2. {  
  3.     public class Dog  
  4.     {  
  5.         public int ID { getset; }  
  6.         public string Name { getset; }  
  7.         public override string ToString()  
  8.         {  
  9.             return "ID=" + this.ID + ",Name=" + this.Name;  
  10.         }  
  11.     }  
  12. }</span>  

 

    这样我们就可以在控制器中写代码了,代码如下:

 

[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <span style="font-size:18px;">namespace MVCBlog.Controllers  
  2. {  
  3.     public class HomeController : Controller  
  4.     {  
  5.         //  
  6.         // GET: /Home/  
  7.         public List<Models.Dog> InitData()  
  8.         {  
  9.             List<Models.Dog> list = null;  
  10.             list = new List<Models.Dog>()  
  11.             {  
  12.                 new Dog(){ ID=1,Name="藏獒"},  
  13.                 new Dog(){ ID=2,Name="牧羊犬"},  
  14.                 new Dog(){ ID=3,Name="吉娃娃"},  
  15.                 new Dog(){ ID=4,Name="哈士奇"}  
  16.             };  
  17.             return list;  
  18.         }  
  19.         public ActionResult Index2()  
  20.         {  
  21.             System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(4000);  
  22.             List<Models.Dog> list = InitData();  
  23.             list.ForEach(d =>  
  24.             {  
  25.                 sbHtml.AppendLine("<div>" + d.ToString() + "<div>");  
  26.             });  
  27.             ViewBag.HtmlStr = sbHtml.ToString();  
  28.             return View();  
  29.         }  
  30.     }  
  31. }</span>  

 

    最后我们来创建视图,方法是在控制器中的Index2方法上右击,选择添加视图即可,如下图所示:


    我们会看到在Views文件夹下的Home文件夹中有了一个名为Index2.cshtml的文件,这个就是视图文件,我们在视图中写一行代码就可以调用控制器中的方法了,代码如下:

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <span style="font-size:18px;">@{  
  2.     Layout = null;  
  3. }  
  4.   
  5. <!DOCTYPE html>  
  6.   
  7. <html>  
  8.     <head>  
  9.         <title>Index</title>  
  10.     </head>  
  11.     <body>  
  12.         @Html.Raw(ViewBag.HtmlStr)  
  13.     </body>  
  14. </html></span>  

 

    下面看如何运行程序,运行传统的Web应用程序我们在浏览器的地址栏中输入的是http://localhost:60063/Views/Home/Index2.aspx,而我们使用MVC编写的应用程序不是这样,我们只需要调用相应的视图即可,在浏览器中输入的是http://localhost:60063/Home/Index2,回车之后的结果如下:


    总结:对于MVC框架,很多人都会想到三层框架,它们的确有相似的地方,都是对应用程序进行分层解耦,但是相比较而言,MVC框架的三个部件解耦的比较彻底,它们是相互独立的,改变其中一个不会影响其他的两个,做到了耦合性低,这样带来的最大的好处是可维护性高。MVC还有其他的优势,当然也有很多缺点,有兴趣的可以自己查阅资料。

 

    还要说明一点的是,很多人对于框架模式和设计模式的概念不是很清楚,特别容易混淆两者。因此很多对MVC认识不深刻的人认为MVC是一种设计模式,实际上它们是完全不同的两个东西。简单来说,框架通常是代码重用,而设计模式是设计重用,架构则是介于两者之间,部分代码重用,部分设计重用,有时也可以分析重用。

 

    引用一句话,框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度

         MVC只是框架的一种,还有很多其他常用的框架,比如:StrutsSpringZend Framework以及.NET MVC等,期待去学习和使用它们。

其他精彩文章

jQuery教程(19)-jquery ajax操作之序列化表单

jQuery教程(18)-ajax操作之执行POST请求

jQuery教程(20)-jquery ajax + php 操作之为Ajax请求提供不同...

jQuery教程(21)-jquery ajax 回调函数

 

更多关于android开发文章

1
4
分享到:
评论

相关推荐

    基于MVC框架的java web开发

    **基于MVC框架的Java Web开发** 在Java Web开发领域,Model-View-Controller(MVC)模式是一种广泛采用的设计模式,它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以实现业务...

    Web开发下载MVC框架包

    在本场景中,"Web开发下载MVC框架包"很可能包含了一个用于构建Web应用的MVC框架的源代码或者预编译组件。 首先,我们来详细了解一下MVC模式的三个主要组成部分: 1. **Model(模型)**:模型是应用程序的核心,...

    C#的mvc框架,实现简单的web功能

    C#的mvc框架,实现简单的web功能。可以应用在泛微oa等需要基础开发简单功能的网站。erp,crm等系统。

    PHP实例开发源码-AMP-PHP WEB应用开发MVC框架.zip

    PHP实例开发源码—AMP-PHP WEB应用开发MVC框架.zip PHP实例开发源码—AMP-PHP WEB应用开发MVC框架.zip PHP实例开发源码—AMP-PHP WEB应用开发MVC框架.zip

    java web开发框架 MVC+DAO实现

    在Java Web开发中,MVC框架如Spring MVC或Struts提供了强大的支持,帮助开发者组织代码,提高代码的可读性和可维护性。 1. Model(模型):模型层负责业务逻辑和数据处理。它包含了应用程序的核心功能,与数据库...

    【ASP.NET编程知识】.NET Web开发之.NET MVC框架介绍.docx

    .NET MVC 框架是 ASP.NET 编程知识中的一种 Web 开发框架,用于构建基于 Model-View-Controller 模式的 Web 应用程序。下面是对 .NET MVC 框架的详细介绍: 一、URL Routing 在 .NET MVC 框架中,URL Routing 是一...

    ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架+通用权限管理系统源码

    1、基于ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout的架构设计开发 2、采用MVC的框架模式,具有耦合性低、重用性高、生命周期成本低、可维护性高、有利软件工程化管理等优点 3、采用WebAPI,客户端完全摆脱了代理...

    基于PHP的AMP-WEB应用开发MVC框架源码.zip

    【标题】: "基于PHP的AMP-WEB应用开发MVC框架源码" 在这个标题中,我们关注的关键点是“PHP”、“AMP-WEB”和“MVC框架”。PHP是一种广泛使用的开源服务器端脚本语言,尤其适合Web开发。AMP(Accelerated Mobile ...

    .NET Web开发之.NET MVC框架介绍

    直到2008年,微软针对*** 3.5发布了真正的MVC框架,带来了URL Routing技术、页面中不再使用服务器端的Form以及不再依赖于服务器端Form的服务器控件事件等变化。 URL Routing技术使得Web应用程序的URL不再指向具体的...

    ASP.NET MVC框架开发系列课程(1):MVC模式与ASP.NET MVC框架概述

    ASP.NET MVC框架基于这个模式,提供了丰富的特性来支持Web开发。以下是一些关键知识点: 1. **路由系统**:ASP.NET MVC使用路由引擎来解析HTTP请求,并将其映射到相应的控制器和操作方法。开发者可以通过自定义路由...

    NET_Web开发震撼之变:.NET_MVC框架

    .NET Web开发领域中,.NET MVC框架是一个至关重要的里程碑,它极大地改变了Web应用程序的设计和开发方式。MVC,即Model-View-Controller,是一种广泛采用的软件设计模式,尤其适用于构建可维护、可扩展和高度分化的...

    一套通用的Easyui+asp.net mvc开发框架源码

    【标题】"一套通用的Easyui+asp.net mvc开发框架源码"揭示了这是一个用于构建Web应用程序的基础架构,结合了两种技术:Easyui和asp.net MVC5。Easyui是一个基于jQuery的用户界面库,提供了丰富的组件和主题,用于...

    简单的MVC框架例子

    在Web开发中,MVC(Model-View-Controller)模式是一种广泛应用的设计模式,它将应用程序的结构分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这个简单的MVC框架例子,旨在帮助我们理解...

    C# MVC 开发框架

    在C# MVC框架中,Model代表应用程序的核心业务逻辑,处理数据和业务规则。它与数据库或其他数据源进行交互,提供数据服务。在本项目中,可能包含多个模型类,每个类对应数据库中的一个表,通过属性映射到数据库字段...

    精通Spring_Web_MVC优秀框架.pdf

    ### Spring Web MVC 框架核心知识点解析 #### 一、Spring Web MVC 概述 - **Spring Web MVC** 是...通过上述内容的学习,可以全面掌握Spring Web MVC框架的核心开发知识,为构建高质量的Web应用程序打下坚实的基础。

    C++实现简单的MVC框架

    C++不是典型的Web开发语言,但它具有高度的灵活性,能够用来构建桌面应用或服务端应用,因此使用C++实现MVC框架可以帮助开发者理解模式的本质,而不仅仅是特定语言的实现细节。 在实际应用中,MVC模式还有许多变种...

    基于Spring MVC框架的Web应用开发.zip

    基于Spring MVC框架的Web应用开发 项目简介 本项目是一个基于Spring MVC框架的Web应用开发示例,涵盖了从基础的MVC模式实现到高级的注解开发、数据交互、文件上传下载、拦截器配置等多个方面的功能。通过本项目,...

Global site tag (gtag.js) - Google Analytics