我正在努力学习F#,并希望创建一个测试交易策略的平台。通常,每当书中的刻度更新时,代理API就会广播C#事件。听C#事件并对其做出反应的正确功能方法是什么?是否有一种既定的方法可以从调度的方式中抽象实现,从而能够使用相同的代码在线(从事件)和离线(从数据库和/或文件)进行测试?
对既定技术和功能设计的任何提及?
提前致谢
答案 0 :(得分:4)
您正在寻找的概念是Reactive Programming,这是一种可以与F#或几乎任何编程语言一起使用的编程风格。
如果您熟悉迭代器(例如LINQ)及其提供的抽象级别,那么您可以将这种思维方式适应RP。可观察序列表示可以是从异步事件到内存数组的任何数据流。
与LINQ本身具有功能的方式类似,因此可以构建可观察序列上的操作链,而不会产生副作用,直到您的程序选择对它们进行操作。 The F# documentation描述了如何附加事件并将其作为可观察序列进行处理。