MVC设计模式 - 最初加载视图

时间:2011-03-15 07:58:39

标签: asp.net-mvc model-view-controller design-patterns

此查询一般是关于MVC设计模式而不是ASP.net MVC框架

我在MVC(桌面应用程序)中理解:

  1. 用户点击视图中的内容
  2. 将其传递给控制器​​进行管理
  3. controller在Model
  4. 中进行了一些更改
  5. 模型调用视图上的方法,该方法具有刷新UI的逻辑
  6. 围绕这些问题:

    Q1)控制器是否还可以修改View或Model only更新View?

    Q2)当屏幕第一次加载时,没有模型更改。那么,谁从模型中获取数据并填充视图?查看直接调用模型并填充自身或控制器获取数据并传递给视图方法或在模型更新视图时引发一些虚拟事件?

2 个答案:

答案 0 :(得分:0)

在网络环境中,您始终会收到来自网络浏览器的请求。所以逻辑工作如上所述,但它有一个包装器:

  1. 浏览器向服务器发送请求并等待回复
  2. 上面的四个步骤。在这种情况下,UI也是服务器中的内部模型。
  3. 渲染引擎从内部UI模型
  4. 创建新UI(新的HTML页面)
  5. 服务器将新的HTML文档发送回浏览器
  6. 浏览器呈现结果

答案 1 :(得分:0)

来自model-view-controller

  1. 用户以某种方式与用户界面交互。 (例如,按下鼠标按钮)。
  2. 控制器通常通过注册的处理程序或回调处理来自用户界面的输入事件,并将事件转换为适当的用户操作,对于模型是可理解的。
  3. 控制器通知模型用户操作,可能导致模型状态发生变化。 (例如,控制器更新用户的购物车。)
  4. 视图查询模型以生成适当的用户界面(例如,视图列出购物车的内容)。视图从模型中获取自己的数据。在一些实现中,控制器可以向视图发出一般指令以呈现其自身。在其他情况下,视图会自动通知需要屏幕更新的状态(观察者)更改模型。
  5. 用户界面等待进一步的用户交互,从而重新开始控制流程。