今天的计划是让新建任务面板中的是否是未安排任务的checkbox可以和event对象互动。
这个题目要求event的托拽可以影响checkbox的value,而点击checkbox,event也会产生托拽的效果。
这我以前似乎做过,但是认为是无解的命题了,无法避免无限循环。
还是calendar,让我看到了正确的设计。
很简单,通过
可以得到是否托拽改变了category,再让onclick去改变这个值。我也想不起来为啥以前没解决了。仿佛还有lazyreplication的问题吧。
不过,我认为其文档是有错误的,文档中说path相当于once语义。谁晓得是个always语义。
客户端街面上的操作,基本上做成了(去掉重复性,给别人布置==以后),但是还没有数据通信,我考虑了一下午,一样无解。
我规定了几个前提:
- 用javarpc
- 实现异步
- 减少数据流量
- 基于timestamp的version控制
有三种通信方式的念头:
- 最蠢的和最简单的就是做全文比较,几秒钟用客户端数据和服务器比较一次,可以完全地做到异步,但是如何保证用户最后的操作也被异步同步了,呵呵……
- 纪录每一次元操作,用什么特殊语句或者对象记录一下,放入队列中,然后让队列做异步同步。这种方法如果操作与操作之间有耦合、冲突、先后性的话,那还不如第一种,再说如何记录和分析命令,也是会比较晦涩的
- 任何元操作都产生一个rpc命令,做完就做完了,这样在网络畅通的情况下可以保证客户端和服务器的数据一致性,也不用做什么比较和分析。如果不畅 通,有一个rpc没成功,那么两边就有分歧了。而且我刚刚在实践的时候,也发现,addEvent没办法简单保证立刻获得新丁的id,要么停滞下来等,要 么就得不到。不过这也是可以继续研究的,说不定有方法。
calendar源程序没有这一部分,但是做第一种的扩充是最简单的。
以前在"麦迪快"里,我用的是1和2地结合,把我折腾半死,当然,看起来还是不错的想法,只是中间问题多多。
烦!


没有评论:
发表评论