应用场景: 各种传感器的原生数据的转换。 A传感器采集到的数据是1000,B传感器采集到的数据2500,C。。。如何让程序自动进行转换,并且不改变代码。 解决方法: 存储过程:通过存储过程来进行计算。此方案坚决否定,原因是,不能与数据库耦合,如果更换数据库,是不是意味着存储过程重写或者程序直接无法处理? 脚本:此方案我见人用过,脚本直接写在数据库里进行存储,编程语言是C++的。我目前的想法就是这种方工。 通过脚本处理此问题的大致想法: 1.编写一个类模板,包括一个函数体,但是函数体为空。例如:
3.动态编译,检测编写的函数是否有语法错误,如无错误,进行缓存,比如温度的 SensorCache["temp"+"SensorProcessor"] = SensorProcessorEntity as IProcessor; 4.使用时,从缓存中取出,调用接口的Process方法。 以上是我的大致的想法,但是总感觉有地方不对,大家各抒己见,谢谢。 |
框架貌似没问题
这都7年前的提问,我自己早忘了,谢谢提醒。这个方案可行,再加一个DefaultProcessor。 我现在用的方案是直接配置计算公式,动态编译执行。