Должен ли IObservable быть предпочтительным по сравнению с событиями при отображении уведомлений в библиотеке, ориентированной на .NET 4+

У меня есть библиотека .NET, которая как часть объектной модели будет отправлять уведомления о некоторых случаях.

Мне кажется, что основнойпрофи изСобытия доступность для начинающих (и простота в определенных контекстах потребления) с основным недостатком, что онине составляется и, следовательно, немедленно вынуждены вObservable.FromEvent* если вы хотите сделать что-нибудь интересное без написания кода.

Природа решаемой проблемы такова, что трафик событий не будет особенно частым или объемным (это определенно не кричащий RX), но определенно нет необходимости поддерживать версии .NET до 4.0 [и, следовательно, я могу использовать встроенныйIObservable интерфейс вSystem.Reactive без навязывания каких-либо существенных зависимостей от потребителей. Я заинтересован внекоторые общие рекомендации некоторые конкретные конкретные причины предпочитатьIObservables надeventс точки зрения дизайна API - независимо от того, где мой конкретный случай может сидеть наevent - IObservable спектр.

Итак, вопрос:

Есть ли что-то конкретное, что я делаю значительно более трудным или проблематичным для потребителей API, если я пойду с самой простой вещью и выставлюevent вместоIObservable

Или пересчитано: кроме того, что потребителю приходится делатьObservable.FromEvent* чтобы иметь возможность составлять события, неужели нет единой причины отдавать предпочтениеIObservable заevent при выставлении уведомления в API?

Цитаты проектов, которые используютIObservable для не-кричащих RX материал или рекомендации по кодированию были бы идеальными, но не критичными.

NB. Как уже упоминалось в комментариях к @Adam Houldsworth, меня интересуют конкретные вещи относительно поверхности API библиотеки .NET 4+, а не опрос мнений о том, какая из них представляет лучшую «архитектуру по умолчанию» для наших времен: )

NB этот вопрос был затронут вIObserver и IObservable в C # для наблюдателя против делегатов, события а такжеIObservable против простых событий или почему я должен использовать IObservable?, Аспект вопроса, который я задаю, имеетне были рассмотрены в любом из ответов из-за нарушений ПСП. Еще один слегка перекрывающийся вопросПреимущества .NET Rx перед классическими событиями?, (Использование IObservable вместо событий) [Использование IObservable вместо событий попадает в ту же категорию.

Ответы на вопрос(4)

Ваш ответ на вопрос