[. NET object-oriented programming in depth] (4). NET mvc--talk about the version change of MVC and the new version 6.0 development direction
1. About MVC
In this article no longer details the basic concepts of MVC, these things Baidu is more comprehensive than I write, MVC from 1.0 to 5.0 of the time is not short, many people just follow the example to use some of the basic features of MVC, and do not have a deeper understanding of MVC. In this series, I mainly introduce some of the principles and techniques of MVC, and the direction of MVC development.
First talk about MVC, first he is a design mode, if you Baidu why GOF23 design mode without MVC, the answer is very interesting, as follows:
In their view, it is actually the evolution of the other three classic design patterns: The Observer Pattern (Observer) (pub/sub), the Strategy mode (strategy), and the combo mode (Composite). Depending on the implementation of MVC in the framework, the Factory mode (Factory) and Adorner (Decorator) modes may also be used. ”
. NET MVC is a pattern of creating WEB applications using MVC (Model View Controller-View-controller) design.
- Model is the part of your application that handles application data logic. Typically, model objects are responsible for accessing data in the database.
- View is the part of the application that handles the display of data.
- A controller is a part of an application that handles user interaction.
2.MVC History
(1) MVC 1.0
Published: (March 13, 2009) 2007. NET 1.0 started development, March 13, 2009. NET MVC 1.0 officially released
Summary: With more people using. NET Webfrom, a large percentage of developers still use Webfrom as a drag control to develop Web applications after release 1.0, and MVC 1.0 is not a lot of people, it's just a baby.
(2) MVC 2.0
Release time: (March 2010)
Summary: The core framework continues to be 1.0, but improvements have been made on Visual Studio Tools, using Html.renderaction to support rendering a page or part of a Web site, and so on. During this time, many developers are using the three-tier architecture to develop the idea of MVC, logical separation, and many developers have slowly transformed from WebForm to MVC.
(3) MVC 3.0
Release time: (January 2011)
Summary: The biggest change is that support for Razor view engine, rich JS support (such as jquery), etc., more flexibility, a lot of developers basically abandoned the WebForm to MVC.
(4) MVC 4.0
Release Date: (2012) (with vs 20,121 release)
Summary: MVC 4.0 has become very mature after several versions of the changes. Add templates such as mobile phone, Web API, add script compression merge, support HTML5, add JS Library, support EF, etc. Almost all-based. NET Web projects are entering the MVC era. and into the full open source era (MVC before open source, but not support modification and contribution, 4.0 is the true meaning of open source)
(5) MVC 5.0
Release date: (2013)
Description: Further optimizations for MVC 4.0 MVC, WEBAPI 2.0, enhanced Routing (Attribute Routing), further enhanced support for JS libraries, including the addition of popular Bootstrap, and the continued growth of MVC users on. NET Web projects.
(6) MVC 6.0
Release date: (2016 month) (official release date to be determined)
Brief introduction:
A. Cross-platform deployment development: This will be a cross-era work, including. NET 5.0 will be named Core 1.0, Microsoft for complete decoupling, split all functions, the. NET framework almost rewritten, compatible with the old version of the same time, support cross-platform deployment.
Many places in the design have borrowed from Nodejs. and all projects under. NET Open Source, (Open source Address: Https://github.com/aspnet/)。并提供了跨平台开发工具Visual Studio Code,可运行于 Mac OS X、Windows和 Linux 之上。
B. Framework integration:MVC 6整合了MVC、WebAPI、WebPage,彻底移除了WebForm。在View上提供Tag Helpers和View Components,真正意义上的前端DOM和JS分离,终于可以看到正常的HTML页面了。
C. Further enhancement of the front end: Built-in Nodejs, NPM, Grunt, Bower Technology, support ANGULARJS.
D. Support for Dependency injection technology, providing a native DI framework while supporting third-party containers.
E. Support for Xunit.net, discarding the visual Studio Unit testing Framework.
F.ide is still strong: In addition to continuing the powerful features of VS2013, it supports NODEJS, Python development, Android and iOS development, and more.
3.MVC pros and cons
Advantages:
A. Layered design, separation of duties, easy maintenance
B. Powerful routing, the URL routing module is responsible for mapping from browser requests to specific controller actions, providing a rich rewrite.
C. Excellent unit testing support.
D. Excellent performance in team development.
E. Open source (I think this is definitely an advantage)
Disadvantages:
A. The general shortcomings of the framework, the development process needs to follow the model, view, controller separation and other rules, increase the structural complexity. At the same time, the complexity of the structure reduces the operational efficiency.
B. The view model is frequently accessed and, to some extent, operational performance is impaired.
4. Summary:
With the change of MVC version, its performance has been improved, especially after entering the full open source, I believe that development will be better, after all, the world's Daniel building blocks.
==============================================================================================
Back to Catalog
< If it is helpful to you, please remember to click on the recommendation Oh, if there is have no understanding or error the Place , please communicate more >
< for those who have difficulty reading this series of articles, please read ". NET object-oriented programming fundamentals" and ". NET object-oriented programming advanced " >
< REPRINT statement: Technology needs to share the spirit, welcome to reprint the article in this blog, but please specify copyright and url>
. NET Technology Exchange Group: 467189533
==============================================================================================
[. NET object-oriented programming in depth] (4). NET mvc--talk about the version change of MVC and the new version 6.0 development direction