gpt4 book ai didi

model-view-controller - 关于 MVC 架构的问题

转载 作者:行者123 更新时间:2023-12-04 18:34:42 25 4
gpt4 key购买 nike

我开始编写一个相当复杂的 Web 应用程序,结果变得一团糟。
所以我想我会尝试以更好的方式组织它。 MVC 似乎很合适。
我以前从未使用过 MVC,并且研究它我试图巩固对它的更好理解(我的问题显然反射(reflect)了我认为到目前为止我学到的东西)。
我的问题略微面向 JavaScript:

  • 什么对象应该发出“AJAX”请求? Controller 还是模型? (分离——模型应该只存储/操作数据,它不应该关心/知道数据来自哪里,还是应该是获取数据的那个?)
  • 模型应该调用 View 函数,为它们提供数据作为参数,还是 View 应该查询(引用)模型本身? (记住分离原则,“ View 不应该关心/知道它从哪里获取数据”——对吗?)
  • 一般来说, View 是否应该“知道”模型的存在,反之亦然? Controller 是唯一将它们粘合在一起的东西还是根本不正确? (我真的怀疑这种说法总体上是正确的)

  • 很有可能我想将它移植到桌面/移动应用程序中,所以我想以一种允许我完成该任务的方式分离组件,用 DB 替换当前的数据源、HTTP 请求访问,并替换 View 。

    也许我问过的每种方法仍然是“有效的”MVC,这取决于我来选择。我知道没有什么是一成不变的,我只是想在脑海中有一个(更好的)总体思路。

    最佳答案

  • 假设您的意思是真正的 Ajax(即异步 Javascript 调用),我认为这确实是 View 的责任。 Javascript 是客户端,而您的 Controller 和模型是服务器端。
  • 模型和 View 不应该有任何交互。 Controller 是信息网关,是控制应用流程的粘合剂。
  • 如上所述, View 不应与模型交互。正如您所说, Controller 是中间人。对于大多数框架,有一些方法可以使该管道短路,但应该避免它们。
  • 关于model-view-controller - 关于 MVC 架构的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985643/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com