一、MVC架构
MVC体系结构模式将应用程序分成三个主要组件:模型、视图和控制器。
模型:实现应用程序数据域逻辑的应用程序部件,表示数据和业务规则。
视图:显示应用程序用户界面(UI)的组件。
控制器:处理用户交互、使用模型并最终选择要呈现的视图来显示UI的组件,处理和响应用户输入和交互。
MVC 模式可以创建使应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)分离的应用程序,同时可在这些元素之间提供松散耦合。该模式指定每种逻辑在应用程序中应处的位置。UI 逻辑位于视图中。输入逻辑位于控制器中。业务逻辑位于模型中。
二、ASP.NET MVC
ASP.NET MVC是微软的开发团队基于MVC开发的一个易于被测试的框架,跟ASP.NET WebForm类似的ASP.NET页面引擎,它集成了现有的 ASP.NET 功能,如母版页和基于成员资格的身份验证等。
三、ASP.NET MVC的特性
-
应用程序任务(输入逻辑、业务逻辑和 UI 逻辑)的分离、可测试性和测试驱动的开发 (TDD)。MVC 框架中的所有核心协定都基于接口并且可使用 mock 对象进行测试,mock 对象是模仿应用程序中实际对象的行为的模拟对象。您可以对应用程序进行单元测试,而不必在 ASP.NET 进程中运行控制器,这使得单元测试既快速又灵活。您可以使用任何与 .NET Framework 兼容的单元测试框架。
-
可扩展和可插入的框架。设计 ASP.NET MVC 框架的组件的目的是为了可以轻松地替换或自定义它们。您可以插入自己的视图引擎、URL 路由策略、操作方法参数序列化以及其他组件。ASP.NET MVC 框架还支持使用依赖项注入 (DI) 和控制反转 (IOC) 容器模型。DI 使您能够将对象注入到类中,而不是依靠类来创建对象本身。IOC 指定某个对象是否需要其他对象,第一个对象应该从配置文件之类的外部源中获取第二个对象。这样,测试会更加轻松。
-
广泛支持 ASP.NET 路由,ASP.NET 路由是一个功能强大的 URL 映射组件,它允许您生成具有易于理解和可搜索的 URL 的应用程序。URL 未必包含文件扩展名,并且旨在支持非常适合搜索引擎优化 (SEO) 和具象状态传输 (REST) 寻址的 URL 命名模式。
-
支持将现有 ASP.NET 页面(.aspx 文件)、用户控件(.ascx 文件)和母版页(.master 文件)标记文件中的标记用作视图模板。您可以将诸如嵌套母版页、内联表达式(<%= %>)、声明性服务器控件、模板、数据绑定、本地化等现有 ASP.NET 功能与 ASP.NET MVC 框架结合使用。
-
支持现有 ASP.NET 功能。ASP.NET MVC 允许您使用一些功能,如 Forms 身份验证和 Windows 身份验证、URL 授权、成员资格和角色、输出和数据缓存、会话和配置文件状态管理、运行状况监视、配置系统以及提供程序体系结构。