我使用的 API 公开了具有不同特征的数据:
- “静态”参考数据,即您要求它们,得到一个据说不会改变的值
- “历史”值,您可以在其中查询日期范围
- “订阅”值,您可以在其中注册以接收更新
但从语义上看,这些字段是一回事,只是消费方式不同。参考数据可以被视为一个常数函数,随着时间的推移产生相同的结果。历史数据只是过去发生的流数据。
我试图找到一个统一的模型来对我的查询的所有语义进行编程,并将其与其消费模式区分开来。
这意味着,可以以“实时”方式评估相同的报价,将字段转换为适当的 IObservable 形式(如果可用),或者以“历史”方式,将“时钟”作为参数并在以下情况下产生值勾选或“参考”方式,仅产生 1 个值(仍由运行查询的历史日期修饰..)
我不确定 F# 中的哪些编程工具最适合该目的,但我正在考虑引用,我从未真正使用过。它是否适合这样的任务?