【发布时间】:2010-06-06 19:43:47
【问题描述】:
我开始编写一个相当复杂的 Web 应用程序,结果变得一团糟。 所以我想我会尝试以更好的方式组织它。 MVC 似乎很合适。 我以前从未使用过 MVC,并且研究它我试图巩固对它的更好理解(我的问题显然反映了我认为到目前为止我学到的东西)。 我的问题有点面向 JavaScript:
什么对象应该发出“AJAX”请求?控制器还是模型? (分离——模型应该只存储/操作数据,它应该不关心/不知道数据来自哪里,还是应该是获取数据的那个?)
模型应该调用视图函数,为它们提供数据作为参数,还是视图应该在自身内部查询(引用)模型? (记住分离原则,“视图不应该关心/知道它从哪里获取数据”——对吗?)
一般来说,视图是否应该“知道”模型的存在,反之亦然?控制器是唯一将它们粘合在一起的东西还是根本不正确? (我真的怀疑这种说法是否正确)
很有可能我想将它移植到桌面/移动应用程序中,所以我想以一种能够让我完成该任务的方式分离组件,替换当前的数据源、HTTP 请求,具有数据库访问权限,并替换视图。
也许我所询问的每种方法仍然是“有效的”MVC,这取决于我的选择。我知道没有什么是一成不变的,我只是想在脑海中有一个(更好的)总体思路。
【问题讨论】:
标签: model-view-controller architecture