想象一下,音频播放器可以完成三件事:
在MVC中你会把上面的哪一个放在哪里?
我在想: - 首先是模型的一部分 - 第二个控制器 - 第三个视图
然而,我不完全确定为什么我要问。
答案 0 :(得分:1)
数据操作和创建应由模型处理。
视图将是实际的GUI,包含所有控件,如播放/暂停/音量等。每个控件都有与之关联的事件,例如play_click,pause_click,volume_up等。
演示者将拥有这些视图事件的事件处理程序。每当事件发生时,相关的处理程序将执行,从而根据需要更改模型和/或视图。
例如,如果模型包含volume
属性,并且视图引发volume_up
事件,则演示者中的onVolume_up
事件处理程序将执行,从而导致{{1}要递增的模型的属性,并相应地更新视图。
请注意,演示者不依赖于视图。因此,明天您可以更改整个GUI,而无需触摸演示者或模型。
您可以自己手动设置所有这些内容,也可以使用Knockoutjs等框架。