首页 新闻 会员 周边 捐助

依赖属性的实时计算

0
[待解决问题]

你好,

我在实现一个业务模型时,需要用到实时计算,这个实时计算的具体要求是这样的:

如果类A上的属性a的计算依赖于类B上的属性b,即A.a = function(B.b);我认为A.a与B.b其实是有依赖关系的。当类B上的属性b的值发生变化时,类A上的属性a的值也应该是变化的。在我想实现的业务模型中,我希望B.b一有变化,A.a会立即计算出新的值。另外,我的业务模型中有非常多的地方需有这种需求,请问用什么方法可以实现(如使用C++编程语音),或者有什么软件开发平台可以用? 

 

我需要的这个功能其实跟vue.js中computed是一样的,就是实时计算。Vue检测到数据发生变动时就会执行对相应数据有引用的函数。但我相要的系统是CS架构的大系统,我理解vue.js是不适用的,不知道对不对?

宇宙霹雳无敌小飞侠的主页 宇宙霹雳无敌小飞侠 | 菜鸟二级 | 园豆:202
提问于:2017-03-01 12:09
< >
分享
所有回答(2)
0

属性变化总是要有一个触发条件。
最简单的触发就是在B.b 赋值的时候。
B.b = 1 变成 B.setB(1)
这样就可以在setB中通知别人。
然后可以写一个类来处理这个通知。
比如计算一个表达式 function(B.b),然后把结果赋值给A.a。


长蘑菇星人 | 园豆:1832 (小虾三级) | 2017-03-01 13:08

谢谢,我的业务模型中这种实时计算的比较多,如果每个都用这种方法去处理的话,我感觉比较繁琐,想知道还有没有其它更好的方法来处理。

理想的情况是:能有个专门处理这些属性依赖的模块,能自动定位那些属性是相互关联的,一旦其中一个属性的值变化,相关实例的属性的值能自动更新。另外,这种依赖有时候可能深度嵌套,没有追踪模块,不太好控制属性的深度嵌套,甚至有可能出现属性依赖的嵌套循环错误。

@宇宙霹雳无敌小飞侠:既然这么想学。为什么连5豆都不舍得呢。


支持(0) 反对(0) 长蘑菇星人 | 园豆:1832 (小虾三级) | 2017-03-01 15:51

@长蘑菇星人: 惭愧,第一次来,还不知道豆是什么。。。

@宇宙霹雳无敌小飞侠:听说有个GacUI 你可以去尝试(逃


支持(0) 反对(0) 长蘑菇星人 | 园豆:1832 (小虾三级) | 2017-03-01 16:58
0

对你这业务很感兴趣,能否透露一下。如果是数据库表关系的话呢,可以用于级联更新。请指教

GDOUJKZZ | 园豆:315 (菜鸟二级) | 2017-03-01 20:57

具体的不好说,但跟数学模型比较相关,要实现比较多的函数计算,函数会有高阶嵌套。不是数据库表关系。

@宇宙霹雳无敌小飞侠 大工程!

支持(0) 反对(0) GDOUJKZZ | 园豆:315 (菜鸟二级) | 2017-03-01 22:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册