ASP.NET MVC5 之 什么是MVC?-《KELLER 2小时》

ASP.NET MVC5.0 并不是ASP.NET Web Froms的替换,它是适用于MVC(模型-视图-控制器)模型的应用模式的一套针对设计B/S(Web 应用程序)的解决方案;除此以外还有其他常用的MVC模型的框架,比如 Ruby on Rails,Node.js,Djamgo等;

  • Why?(为什么要学习?)                                                                                      

Web Froms在当前Web 应用程序解决方案中,暴露了一些问题,而MVC能够解决;

Web Froms的缺陷

1,Web Froms根据抽象模型生成HTML标记,又不能完全控制HTML标记,产生标记冗余,布局混乱;

2,使用ViewState存储当前页面数据,导致加载页面缓慢;

3,不能分离业务层逻辑和表现层的逻辑;

   ASP.NET MVC如何解决的

1,不支持ViewState,没有页面数据自动管理机制,降低页面间传递数据,提高加载效率;

2,通过MVC模型,Controller管理表现层逻辑,模型或Web API管理业务逻辑,达到业务层逻辑和表现层的逻辑分离;

3,并提升代码重用性,单元测试,路由解析URL,视图引擎等;

  • WHAT?(它是什么?)                                                                                            

MVC 是三种 ASP.NET 编程模式中的一种(Web page, Web Froms, MVC);

MVC 模式定义 Web 应用程序
带有三个逻辑层:

业务层(模型逻辑)

显示层(视图逻辑)

输入控制(控制器逻辑)

ASP.NET MVC5 之 什么是MVC?-《KELLER 2小时》

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

 

  • HOW?(怎么用,有什么?)                                                                                        

新增的功能:

1,新增One ASP.NET,支持MVC+Web Froms的混搭设计模式;

2,重定义ASP.NET Identity:成员与身份验证系统;

3,支持BootStrap模板:https://wrapbootstrap.com/  http://www.bootcss.com 可参考;

4,特性路由;

5,ASP.NET基架,根据模型类生成样板代码;

6,身份验证过滤器,等同于第二点

 

总结

1,MVC模式是处理用户交互的一种解决方案,它并不处理应用程序关注的其他问题。如数据访问、数据交互等;