3

我正在尝试学习 F#,并想创建一个平台来测试交易策略。通常,每次更新书中的刻度时,代理 API 都会广播 C# 事件。侦听 C# 事件并对这些事件做出反应的正确功能方式是什么?是否有一种既定的方法可以从分派滴答声的方式中抽象出实现,从而能够使用相同的代码在线(从事件)和离线(从数据库和/或文件)测试?

对已建立的技术和功能设计有任何参考吗?

提前致谢

4

1 回答 1

4

您正在寻找的概念是反应式编程,这是一种可以与 F# 或几乎任何编程语言一起使用的编程风格。

如果您熟悉迭代器(例如 LINQ)以及它们提供的抽象级别,那么您可以将这种思维方式应用于 RP。可观察序列表示数据流,可以是从异步事件到内存数组的任何内容。

与 LINQ 本质上是函数式的方式类似,因此在您的程序选择对其进行操作之前,可以构建对可观察序列的操作链而不会产生副作用。F# 文档描述了如何附加到事件并将它们作为 Observable 序列处理。

于 2017-03-09T11:18:33.063 回答