首页 新闻 搜索 专区 学院

mvp中v1触发事件怎么通知v2

0
悬赏园豆:30 [已解决问题] 解决于 2013-09-12 09:01

mvp中,v和v直接是否有关联,比如v1事件需要 通知v2,或者说p和p直接是否有关联呢,

具体是这样的,有一个窗体v1,v1包含v2,v3这2个用户控件,现在v2中有个下拉框事件,改变后v3需要同时修改一些UI的东西,v2和v3是不同的2个用户view,怎么交互呢

mvp
lawbc的主页 lawbc | 初学一级 | 园豆:63
提问于:2013-08-17 23:16
< >
分享
最佳答案
0

这是一个思路问题,提示你一些问题的关键点,你自己思考一下。

1、无论web程序还是winform程序,假使A用户已经打开页面,B用户变更操作后,要A用户的界面发生变化,这个设计有意义吗?

2、对应这个问题,我们可以变相的理解一些权限问题,比如管理员更改了用户A的权限,使其失去或增加了一些功能。对应界面的菜单或某个区域消失和显示。那么设计模式也应该客户端界面打开时重新生成。叫服务器主动通知,基本是不现实的,尤其WEB程序。所以只能客户端主动请求更新,web程序需要js配合,winform程序稍微简单一些。

收获园豆:30
kylin.chen | 小虾三级 |园豆:983 | 2013-08-18 17:34

你应该理解错了,或者我表达不清楚,我这里环境是winform,而且winform2个界面交互是很正常的,但是因为使用mvp模式,view和view就隔离了,但是也是需要交互的,或者说view所属的Presenter需要交互,如果直接传递IView接口,虽然可以解决交互问题,但是view和view之间绑定太死了,最近参考了DDD的事件模式,可以解决这个问题,prism events就是这样写的

lawbc | 园豆:63 (初学一级) | 2013-09-09 12:06

@刘标才:  我明白了,类似原来的用户控件了,其实没必要这么纠结了,就对外公开方法和属性就好,这种view又不会考虑重用了。

kylin.chen | 园豆:983 (小虾三级) | 2013-09-11 18:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册