【发布时间】:2015-06-17 13:04:31
【问题描述】:
我在大多数项目中都使用主干,我想我确切地知道 M V C 的含义:M 表示数据的抽象,V 表示表示,C 表示处理程序。
但是在我当前的项目中,我发现有很多视图相互交互,而模式很少(与服务器的数据)。
比如我有一个复杂的视图,名字叫V1 V2 V3,当用户在V1中做某事时,V2应该做出相应的反应,V3等也是如此,最后一步可能会请求请求数据从服务器。而且大部分请求都是用来获取数据而不是修改数据。
它不喜欢常见的样式:一个模型的一个(或多个)视图,例如 CRUD 操作。
现在我有两个想法:
1 个虚拟模型
创建一个主干模型来表示整个应用程序的状态,将此模型绑定到所有视图。听起来像是将应用程序作为状态机。
虽然用不同的状态来描述应用程序并不容易。
2 使用事件中介
使用事件中介来注册/取消注册不同的事件,然后视图可以触发或响应不同的事件。
虽然如何定义事件以避免不足或过多,但总之要使事件正交并不容易。或者我还没有找到任何说明。
还有其他替代解决方案吗?
【问题讨论】:
-
interactive with each other你的意思是把这些视图一起显示并希望它们同时更新吗?