HTML-ViewParse的TodoMVC应用开发所暴露的问题

第一版本的DataManager使用大Hash表对Template中的对象进行直接的匹配,等于把传递进入DataManager的json给拍成扁平的Hash表,这是十分愚蠢的,完全地违背了单一数据来源,导致在双向更新数据、向下更新数据、冒泡更新数据时出现大量的逻辑判定。

如此迎来了DataManager的重构。大Hash表模块为动态生成,并做为缓存模块,在性能和耦合度间建立了一个平衡点,从而不再对数据格式做限制,拓展性上也有极大的提升(拓展了监听类的数据就是一个例子,虽然目前还未优化结构,耦合度也比较高,但如果是在第一版本中,想把监听类并入DataManager内部实在妄想)。

然而在这次TODOMVC的开发过程中由each模块拓展出来的子viewModel没有真正地遵守单一数据来源,所以导致数据的冒泡更新只存在于单个DataManager Instance内部,而当我试图使用逻辑去修复父子关系的Instance的冒泡时,发现会导致构架中的耦合点全部出现问题。

所以DataManager即将迎来第二次重构,完全地遵守单一数据来源,真正从构架上实现双向更新、向下更新、冒泡更新。这次重构也会一定程度上优化内存使用,毕竟是真正在使用单一的数据源,不再有分布式的结构。

这样事件绑定中也有望实现VM实例正确地传递,从而实现更有好地each类操作(remove等)。

这次重构同时也要解决上次Controller层开发遗留的大耦合问题,深度整合计算类到DataManager中。而Controller层也会对数组等一些特殊类型的数据对象进行包裹,优化操作的API。

顺利的话完成这些工作,按先前定的里程碑,v0.10.0就是要正式发布了。

然后就是实现常见的应用实例、UI实例,对比各种MV*,来优化API,直到正式版本的发布。

转载于:https://my.oschina.net/gaubee/blog/160764

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值