`
fangzhouxing
  • 浏览: 211863 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PageBus1.1有利于实现UI组件之间的松散耦合

阅读更多
推荐大家使用PageBus!
http://www.tibco.com/devnet/pagebus/default.jsp

举一个简单的例子。

用户列表中,需要实现新建用户功能。利用Extjs框架,用两个js文件实现:
(1)user-list.js 实现网格显示功能,并定义工具条,其中有新建按钮。
(2)user-add.js 弹出对话框,输入用户信息。

当用户新建完毕后,需要将用户网格刷新,并将光标定位到刚才新建的用户上。

作为设计准则,我们应该避免双向依赖关系,即:user-list.js 可以依赖 user-add.js(让它显示对话框),但 user-add.js 应该
避免依赖user-list.js。

那么如何做到新建用户后,能实现上述功能呢?

显然,使用 PageBus 的消息发布和订阅功能,是最佳方案。

分享到:
评论
9 楼 yuheibing 2008-05-04  
  
8 楼 dhtiger 2007-10-01  
fangzhouxing 写道
附件中是"Ext实现的组合式界面实例画面"对应的js代码,只能作为参考,恕不提供进一步的支持,而且没有后台和其他相应文件,也无法运行.



我怎么调试你给的源码总是不成功,LZ是否在提供之前测试过?或者除了EXT的一些JS库,还需要一些别的JS?
7 楼 fredzhang 2007-09-10  
这个跟OpenAjax Hub很类似吧
6 楼 fangzhouxing 2007-09-10  
附件中是"Ext实现的组合式界面实例画面"对应的js代码,只能作为参考,恕不提供进一步的支持,而且没有后台和其他相应文件,也无法运行.
5 楼 dhtiger 2007-09-09  
你的组合界面的源码可否拿 来共享一下,感觉真的好漂亮
4 楼 fangzhouxing 2007-09-06  
附件中是pagebus1.1:
<script src="pagebus.js"></script>


3 楼 lpp333 2007-09-06  
http://www.tibco.com/devnet/pagebus/default.jsp
地址无法访问
2 楼 fangzhouxing 2007-09-05  
附图是Ext1.1实现的组合式界面. 采用了多个js:
<script src="/common.js"></script>
<script src="/track/main.js"></script>
<script src="/track/project.js"></script>
<script src="/track/element.js"></script>
<script src="/track/component.js"></script>
<script src="/track/component-form.js"></script>
<script src="/track/milestone.js"></script>
<script src="/track/milestone-form.js"></script>
<script src="/track/version.js"></script>
<script src="/track/milestone-with-version.js"></script>
<script src="/track/milestone-without-version.js"></script>
<script src="/track/version-form.js"></script>


这种编程模式各位没有用过吗?还是有更好的方法来做.希望看到反馈.
1 楼 fangzhouxing 2007-09-02  
(续上篇)利用pagebus实现的具体代码,展示如下。

在user-list.js中订阅新建用户消息:
window.PageBus.subscribe('user.add', this, onUserAddedOrUpdated, null)

相应的onUserAddedOrUpdated实现:
function onUserAddedOrUpdated(subj, msg, data) {
   cId = msg.userId;
  ds.reload();
}


user-add.js中发布新建用户消息:
window.PageBus.publish('user.add',{userId:newId});


利用PageBus,可以方便地实现类似.Net平台下的CAB(Composite UI Application Block)框架所提供的组合式界面,而这正时当前RIA富客户端界面所需要的技术。

相关推荐

Global site tag (gtag.js) - Google Analytics