ASP.NET MVC4开发指南学习笔记第一章

第一章:基础概念

1.1何谓MVC

MVC:一种架构(框架),一个设计模式(Design Pattern).
  • Model:定义数据格式与数据访问的界面,包括商业逻辑与信息验证
  • View:负责用户界面(UI)呈现
  • Controller:负责控制系统运行的流程、跟浏览器交互等

1.1.1.何谓Model
Model:模型,数据模型.负责:
  • 定义数据结构
  • 负责与数据库沟通
  • 从数据库读取数据
  • 将数据写入数据库
  • 运行预储程序
  • 数据格式验证
  • 定义与验证商业逻辑规则
  • 对数据进行各种加工处理
1.1.2.何谓View
View:检视或视图.负责所有呈现在用户面前的东西.
输入:
  • 从Controller取得数据,并显示在用户界面上
  • 决定要用什么技术来呈现"用户界面"
  • 负责界面的排版,字型,颜色,美观与各种呈现方式
  • 将Controller传送的数据显示于界面,而数据是参考Model的定义
  • 参考Model的数据格式定义数据显示
输出:
  • 负责将数据送回Controller
  • HTML窗体通过GET或POST输出数据
  • 决定数据应该送到哪一个Controller的Action中
  • 决定数据传送的方式,例如:GET,POST,XML HTTP Request(XHR)
  • 前端基本的数据格式验证
  • 验证功能,例如,使用JavaScript验证表单域是否输入
  • 参考Model的类别定义,在Visual Studio中利用Intellisense撰写程序
1.1.3.何谓Controller
Controller:控制器,掌控全局的对象.负责:
  • 决定与"用户"沟通的管道,以ASP.NET MVC为例就是HTTP或HTTPS.
  • 决定系统运作的流程
  • 负责从Model取得数据.我们可以在Controller的类别中利用Model提供的类别来取得数据
  • 决定应该显示哪个View
1.2.初探MVC架构
1.2.1 彼此的关联性

ASP.NET MVC4开发指南学习笔记第一章

1.2.2 Controller与View的关联性
双向关系,但Controller的主动性较高
当Controller为"主动"角色时:
  • Controller可决定要显示哪一个View.
当View为"主动"角色时:
  • View可决定数据要送回到哪一个Controller的Action
  • 当View需要数据时,可决定数据应该从哪一个Controller的Action取得.
1.2.3 View与Model的关联性
VIew是"比较主动"的一方,Model"数据服务提供商"的一方.专门为View设计的Model,称为ViewModel
1.2.4 Model与Controller的关联性
Controller永远居于"主动"角色.
1.3. 彼此的独立性
1.4. 为什么要ASP.NET MVC(优点)
观念:关注点分离.软件开发时,只关注在当前的对象上,不会受到相同系统中其他对象的干扰,提升软件质量,加快程序代码理解速度.
ASP.NET MVC 拥有非常清楚的关注点分离架构,使网站更容易维护.(低耦合,高内聚)