请帮助我理解MVC架构的这个方面。
让我们说我的应用可以处于两个全局状态,查看模式和编辑模式。
1 / 模式需要保存到后端,因此当应用程序再次加载时,它将处于相同的模式。
2 / 可以在主菜单中更改模式(这是我的视图代码的一部分)。
3 /其他视觉元素和模型功能取决于模式状态。在视图模式下,某些内容将不可见,并且保存也将以不同方式工作。
4 /我的应用程序可以根据需要加载外部模块,这些模块在加载时需要知道模式状态以及它的进一步变化。
由于模块的松散耦合,我认为最好的做法是在模式更改上发送事件。我的问题是:我从哪里发货?变量实际定义在哪里?在模特?在视野中?视图和模型代码如何访问此变量?它是如何在模型和视图之间传递的?在这种情况下控制器的作用是什么?
注意:它并不重要,但我的代码是用JavaScript编写的,我还没有解决任何框架问题。
答案 0 :(得分:0)
目前尚不清楚您使用的是哪个平台,但我认为这些建议可能主要与平台无关。
首先,这听起来并不像真正的应用程序全局状态属性,而是用户或会话属性。
如果您希望自己的应用保持"纯粹"无状态,此编辑模式数据应该是您发送到前端和从前端接收的模型/视图模型的一部分。然后,您的控制器可以读取模式更改并做出反应,并在发送到前端之前根据需要修改该值。前端JS也可以根据需要读取和更改值。
此外,标准会议也应该也可以使用,但是当然可以打破无状态"你的应用程序。