Уместно ли использовать ReactiveCollection в API?

Уместно ли предоставлять ReactiveCollection в API? В частности, в классе обслуживания, который будет использоваться внутри нескольких приложений. Но в качестве мысленного эксперимента мы также можем рассмотреть вопрос о публичном использовании.

Я исследовал Rx и ReactiveUI, и они кажутся мощными инструментами. Однако у меня недостаточно опыта работы с ними, чтобы определить, стоит ли требовать от других зависимости от них.

Подробнее:

Я создаю класс службы отслеживания, который будет отслеживать подключенных клиентов. С моей точки зрения, для использования этого класса потребителям необходимо только предоставить наблюдаемую коллекцию (возможно, ReactiveCollection), которая предоставляет подключенных клиентов и уведомляет об изменениях в коллекции, которые управляются службой. Право, представляющее подключенных клиентов, также будет использовать INotifyPropertyChanged для уведомления об обновлениях состояния клиентов.


person grimus    schedule 02.02.2012    source источник


Ответы (1)


Поскольку ReactiveCollection является производным от ObservableCollection .NET (то есть не-Rx WPF / SL), вы можете вместо этого предоставить его как ObservableCollection.

person Ana Betts    schedule 02.02.2012
comment
Привет, я ценю твою работу над RxUI! Я бы в основном использовал ReactiveCollection, чтобы показать преимущества вызывающим абонентам, внутри этого конкретного класса я бы не стал использовать большую часть функций Rx. - person grimus; 03.02.2012
comment
Вы также можете предоставить Observables ItemsAdded / ItemsObserved как отдельные свойства (т.е. просто вернуть тот, который находится в ReactiveCollection) - поскольку IO ‹T› встроен в структуру, вы можете легко включить его как свойство - person Ana Betts; 03.02.2012
comment
Это неплохая идея, думаю, я попробую. Это также должно позволить мне предоставить ObservableCollection как ReadOnlyObservableCollection. - person grimus; 06.02.2012