MVC初见一

来源:互联网 发布:定时继续 python 编辑:程序博客网 时间:2024/05/16 17:44
  • Model模型:负责定义信息格式与信息访问的界面,包括商业逻辑与信息验证
  • View检视:负责用户界面(User Interface,UI)相关呈现,包括输入与输出。例如显示HTML5网页、呈现HTML表单域、显示XML文件,等等。
  • Controller控制器:负责控制系统运行的流程、跟浏览器如何交互、决定网面操作的流程与动线、响应客户端的各种要求、错误处理,等等。


1.Mode可翻译成“模型”,“数据模型”会更贴切一些,因为Model负责所有与“数据”有关的任务,大致如下:
  • 定义数据结构。
  • 负责与数据库沟通。
  • 从数据库读取数据。
  • 将数据写入数据库
  • 运行预存储程序。
  • 数据格式验证。
  • 定义与验证商业逻辑规则。
  • 对数据进行各种加工处理。
简而言之,只要是和“数据”有关的任务,都应该在Model里完成定义。

2.View可翻译成“检视”或者“视图”
View负责所有呈现在用户面前的东西,最简单的说法是输出与输入。输出工作是呈现在浏览器上的界面,例如,输出HTML、XML,等等。输入工作则是将用户输入的数据传回服务器,例如,在浏览器上显现网面窗体让用户输入。
  • 输出
  1. 从Controller取得数据,并显示在用户界面上。
  2. 决定要用什么技术来呈现“用户界面”(例如,HTML、XML、Silverlight、Flash,等)。
  3. 负责界面的排版、字型、颜色、美观与各种呈现方式。
  4. 将Controller传送的数据显示于界面,而数据是参考自Model的定义。
  5. 参考Model的数据格式定义数据显示。
  • 输入
  1. 负责将数据送回Controller。
  2. HTML窗体通过GET或POST输出数据。
  3. 决定数据应该送到哪一个Controller的Action中。
  4. 决定数据传送的方式,例如,GET、POST、XML HTTP Request(XHR)。
  5. 前端基本的数据格式验证。
  6. 验证功能,例如,使用JavaScript验证表单域是否输入。
  7. 参考Model的类别定义,在Visual Studio中利用Intellisense撰写程序。
简言之,所有应该要显示在网页上的逻辑都是View负责的范围。

3.Controller可翻译成“控制器”,顾名思义就是“掌控全局的对象”,其负责的工作如下。
  • 决定与“用户”沟通的管道,以ASP.NET MVC为例就是HTTP或HTTPS。
  • 决定系统运作的流程。例如,从Controller接收到数据后立刻转向(Redirect)到另一个页面。
  • 负责从Model取得数据,我们可以在Controller的类别中利用Model提供的类别来取得数据。
  • 决定应该显示哪个View。一个网站里有很多呈现的View,要挑选哪一个View来呈现给用户,是Controller的责任。或是当Controller运行的过程中发生异常时,也可由Controller挑选适当的View进行响应。
0 0
原创粉丝点击