有人可以解释一下MVC是什么,为什么我们要使用它以及我们如何使用它。使用它的益处是什么?我们可以在ASP.NET 2.0(VS 2005)中使用ASP.NET MVC吗?
模型-视图-控制器(MVC),也包括微软的ASP.NET MVC框架。它是使用VS.NET 2008构建的。最好在Windows 2008服务器上部署。它也可以在Windows 2003服务器上运行,但是你会失去一些很酷的功能。
ASP.NET MVC框架的好处包括:
- REST like urls i.e. /products/1/456
- No aspx file extensions shown on your site.
- Very clean output model, more like Classic ASP then ASP.NET WebForms.
- Much easier to create a testable site then with WebForms.
ASP.NET MVC 的缺点
- It is in Beta
- It should be run on Windows 2008, if you use Windows 2005 you will need to give an extension for all your pages.
- It is very new.
当您需要完全控制ASP.NET的HTML输出时,您将使用MVC。它还允许更好/更容易的单元测试。它基于模型视图控制器架构。
Scott Gutherie introduces it well here: Scott Gu s Blog
ASP.NET MVC是微软标记的实现模型显示控制器模式用于创建Web应用程序,它允许从业务层(模型)和演示层(由控制器提供的视图)中清晰地分离关注点。 它是使用Microsoft的Webforms技术的替代方法,并允许轻松单元测试,使用Webforms方法几乎是不可能的。
MVC是将程序分成三个独立部分的一种方法:
模型:处理数据访问、业务逻辑等。
视图:生成用户界面。
控制器:处理用户界面输入,可能从模型中检索信息,并根据该信息向用户返回视图。
好处:
当数据访问逻辑与用户界面分离时,易于维护。
可以分别对不同的部分进行单元测试。
特定于ASP.NET MVC:与ASP.NET Web Forms相比,通常渲染的页面大小更小。
ASP.NET MVC 是微软用于在网站中实现MVC模式的技术。 它是ASP.NET Web表单的替代方案,可以将其视为Web的Win表单。 ASP.NET MVC 被认为比Web表单更干净、更快,但通常需要更多的HTML、JavaScript等知识。
There are more details here: ASP.NET MVC. The current ASP.NET MVC Beta version requires .NET 3.5.
MVC是一种设计模式,其中将显示数据的责任委派给视图组件,处理用户和系统输入的责任委派给控制器组件,处理业务逻辑和数据的责任委派给模型组件。ASP.NET MVC是用于ASP.NET Web编程的MVC模式的一种实现。
ASP.NET MVC与ASP.NET WebForms相比,不期望有明确的责任分工(尽管良好的设计通常会尝试实施MVC类似的设计)。在WebForms中,通常在ASPX页面的标记和CodeBehind之间混合了视图呈现、IO处理(Web请求)和业务逻辑职责。例如,在WebForms中,您可以直接在标记中嵌入具有选择逻辑的SqlDataSource,并将其绑定到GridView上。这非常难以使用单元测试来测试选择逻辑是否正常工作。在ASP.NET MVC中,数据的选择将由控制器操作处理,生成要传递给视图并呈现的视图数据。通过单元测试可以更轻松地检查此控制器操作的正确操作(它只是控制器类上的一个方法)。
ASP.NET MVC使用基于REST的URL,而不是WebForm PostBack模型进行用户互动。 MVC可以使用任何HTTP方法,标准期望是RESTful URL是常态。在WebForms中,通常只会看到使用GET / POST方法。
尽管ASP.NET WebForms已经比较成熟,并且有许多开发的控件,包括第三方控件,但是ASP.NET MVC仍然处于Beta状态(截至2008年12月),可用的控件要少得多。 有人会认为这是完全可接受的,因为MVC的一个方面是给开发人员更多地控制视图渲染。 其他人可能会发现这是一个严重的缺点,并希望等待更多的控件被开发出来,以符合MVC模型。
与其他语言/框架的比较,请参见Ruby on Rails(Ruby),Java Struts或Spring MVC(Java)和Django(Python)等等。
Asp.net MVC is based on MVC design pattern. Now Question is raised that what is MVC design pattern. MVC design pattern allows you to develop the application with loosely coupled components. It separates the application into different layers like Data, business logic and presentation logic. To learn more about Asp.net MVC. Please go to the below link.
将此翻译成中文:https://youtu.be/m_9FnAc5k8c https://youtu.be/m_9FnAc5k8c
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding