MVC 设计模式 - 谁首先加载视图

发布于 2024-10-21 21:05:43 字数 363 浏览 0 评论 0原文

这个查询是关于一般的MVC设计模式,而不是

我在MVC(桌面应用程序)中理解的ASP.net MVC框架:

  1. 用户单击视图中的某些内容
  2. ,这被传递到控制器来管理
  3. 控制器在模型中进行一些更改
  4. 模型调用视图上的方法具有刷新 UI 的逻辑

围绕这些问题:

Q1) 控制器是否也可以修改视图或模型仅更新视图?

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

This query is about MVC design pattern in general and not ASP.net MVC framework

I understand in MVC (desktop application):

  1. User clicks something in view
  2. this is passed on to controller to manage
  3. controller makes some changes in Model
  4. Model calls method on view which has the logic to refresh UI

Questions around these:

Q1) Can controller also modify View or Model only updates View?

Q2) When screen loads for the first time, there is no Model change. Then, who fetches data from model and populates view? View directly calls Model and populates itself OR controller gets data and passes to view method OR some dummy event is raised at Model which updates View?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

属性 2024-10-28 21:05:44

来自 model-view-controller

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

From model-view-controller :

  1. The user interacts with the user interface in some way. (for example, presses a mouse button).
  2. The controller handles the input event from the user interface, often via a registered handler or callback and converts the event into appropriate user action, understandable for the model.
  3. The controller notifies the model of the user action, possibly resulting in a change in the model's state. (For example, the controller updates the user's shopping cart.)
  4. A view queries the model in order to generate an appropriate user interface (for example, the view lists the shopping cart's contents). The view gets its own data from the model. In some implementations, the controller may issue a general instruction to the view to render itself. In others, the view is automatically notified by the model of changes in state (Observer) that require a screen update.
  5. The user interface waits for further user interactions, which restarts the control flow cycle.
一抹苦笑 2024-10-28 21:05:44

在网络环境中,您总是会收到来自网络浏览器的请求。因此,逻辑的工作方式如上所述,但有一个包装器围绕它:

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

In the web context, you always have a request from a web browser. So the logic works as described above but there is a wrapper around it:

  1. Browser sends request to server and waits for reply
  2. The four steps above. In this case, the UI is also an internal model in the server.
  3. The render engine creates a new UI (a new HTML page) from the internal UI model
  4. The server sends the new HTML document back to the browser
  5. Browser renders result
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文