yahoo对flux dispatcher的实现,dispatchr

facebook的react是非常出色的一个想法。为什么这么说呢?让我们先看看针对javascript的一些“创新”方法:

1、用javascript本身来实现,比如ember,angular

2、通过最终编译成js的方式,比如gwt,clojurescript。

3、还有服务器一侧计算js的,vaalidan,https://vaadin.com/home

react采用在浏览器内用virutal dom方式,所有的变化都在浏览器内存中,用它的算法计算出最后的给浏览器使用的html,前提是它的算法和计算速度比dom高效。

在react被证明有效的情况下,facebook提出了flux概念,采用单向绑定的方式。yahoo的工程师似乎非常认同react和flux,于是写了这个dispathr。https://github.com/yahoo/dispatchr

它的描述非常简单:A Flux dispatcher for applications that run on the server and the client.

翻译:一个实现Flux概念的dispatcher,为需要同时在浏览器和服务器运行的app。

这里主要记录yahoo的dispatchr的特征。

1、为了适应服务器环境,dispatchr不采用单例模式,而是在每个http请求中实例化。

2、action的注册不使用一个个单独的callback,而是store中的一个单元(这个unit翻译成单元感觉不太对头),用代码展示就很清楚了。

TimeStore.handlers = {
    'CHANGE_ROUTE_START': 'handleTimeChange',
    'UPDATE_TIME': 'handleTimeChange'
};

说白了,既然store的实例化由dispatchr来做,那么dispatchr接到某个action时,自然能够找到对应的store的对应的handler。

3、dispathr的设计,能强迫使用者遵守flux的规范。手段就是通过暴露最小的interface。虽然说是interface,其实不过一种约定而已。

期望yahoo工程师围绕facebook react的一些产品能够得到足够的流行。



转载于:https://my.oschina.net/jianglibo/blog/346934

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值