У меня есть система, подключенная к финансовым рынкам, которая очень интенсивно использует события.
Весь код структурирован как каскад событий с фильтрами, агрегатами и c между ними.
Первоначально система была написана на C#, а затем перенесена на F # (что, в ретроспективе, было отличным ходом), а события в коде C# были заменены событиями на F #, не вдаваясь в подробности.
Я слышал о шаблоне наблюдателя, но на самом деле не изучал топи c. И недавно я прочитал, путем случайного просмотра, о процессоре почтовых ящиков F #.
Я прочитал это: Разница между шаблоном наблюдателя и подходом, управляемым событиями , и я не понял, но, видимо, более 150 человек проголосовали за то, что ответ тоже был не слишком ясным :)
В такой статье: https://hackernoon.com/observer-vs-pub-sub-pattern-50d3b27f838c кажется, что шаблон наблюдателя строго идентичен событиям ...
На первый взгляд кажется, что они решают одни и те же проблемы, только с разными интерфейсами, но это заставило меня задуматься над двумя вопросами:
Действительно ли используется процессор почтовых ящиков? кажется, что он появляется в основном в более старой документации, и в используемых мной пакетах я не встречал, чтобы кто-либо его использовал
Что касается шаблона наблюдателя, только один пакет в большом количество, которое мы используем, использует его для внутреннего использования, но все остальное использует только базовые c события.
Существуют ли конкретные c варианты использования, соответствующие шаблону Observable и MailboxProcessor ? Есть ли у них уникальные особенности? или они просто синтаксис c помогают обойти события в конце?