你好,
我在实现一个业务模型时,需要用到实时计算,这个实时计算的具体要求是这样的:
如果类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是不适用的,不知道对不对?
属性变化总是要有一个触发条件。
最简单的触发就是在B.b 赋值的时候。
B.b = 1 变成 B.setB(1)
这样就可以在setB中通知别人。
然后可以写一个类来处理这个通知。
比如计算一个表达式 function(B.b),然后把结果赋值给A.a。
谢谢,我的业务模型中这种实时计算的比较多,如果每个都用这种方法去处理的话,我感觉比较繁琐,想知道还有没有其它更好的方法来处理。
理想的情况是:能有个专门处理这些属性依赖的模块,能自动定位那些属性是相互关联的,一旦其中一个属性的值变化,相关实例的属性的值能自动更新。另外,这种依赖有时候可能深度嵌套,没有追踪模块,不太好控制属性的深度嵌套,甚至有可能出现属性依赖的嵌套循环错误。
@宇宙霹雳无敌小飞侠:既然这么想学。为什么连5豆都不舍得呢。
@长蘑菇星人: 惭愧,第一次来,还不知道豆是什么。。。
@宇宙霹雳无敌小飞侠:听说有个GacUI 你可以去尝试(逃
对你这业务很感兴趣,能否透露一下。如果是数据库表关系的话呢,可以用于级联更新。请指教
具体的不好说,但跟数学模型比较相关,要实现比较多的函数计算,函数会有高阶嵌套。不是数据库表关系。
@宇宙霹雳无敌小飞侠 大工程!