对,其实内聚的处理逻辑是可以写在M的,C相当是一个包装,对外接口。
例如C 监听 A_UPDATED, 并且有一个 handleAUpdate函数。
handleAUpdate (aData) {
model.changeAPart1(aData.data1);
model.calculateAPart2(aData.data2);
}
view 根据model数据变化抛出事件刷新,或者就直接C里面调v.refreshAData(),就是你说的C调V。
关键就是handler本身做了一个转发函数handleAUpdate,这个转发函数就是和model的中间层,他直接注册在事件系统里,而把model从外部事件系统里面隔离开了。
其实就是facade包装整合。或者你也看成PureMVC的command整合也可以。