我有一个与金融市场相连的系统,它大量使用事件。
所有代码都被构造为级联事件,中间有过滤器、聚合等。
最初该系统是用 C# 编写的,然后移植到 F#(回想起来这是一个伟大的举措),C# 代码中的事件被 F# 中的事件所取代,而没有考虑太多。
我听说过观察者模式,但我还没有真正了解过这个话题。最近,我通过一些随机浏览阅读了有关 F# 的邮箱处理器的信息。
我读到了:Difference between Observer Pattern and Event-Driven Approach,我没明白,但显然有超过 150 人投票认为答案也不太清楚 :)
在这样的文章中:https ://hackernoon.com/observer-vs-pub-sub-pattern-50d3b27f838c似乎观察者模式与事件完全相同......
乍一看,他们似乎在解决同一种问题,只是界面不同,但这让我想到了两个问题:
邮箱处理器真的是被使用的东西吗?它似乎主要出现在较旧的文档中,并且在我正在使用的软件包中,我没有遇到任何使用它
关于观察者模式,在我们使用的相当大数量的包中,只有一个包在内部使用它,但其他一切都只是使用基本事件。
是否有适合 Observable 模式和 MailboxProcessor 的特定用例?它们是否具有独特的功能?还是它们最终只是围绕事件的句法帮助?