Is it appropriate to expose a ReactiveCollection in an API? Specifically, in a service class that would be used internally on multiple applications. But as a thought experiment, we can also consider in public use as well.
I’ve been investigating Rx and ReactiveUI, and these seem like powerful tools. However, I don’t have enough experience with them to determine if it is a good idea to require others to take a dependency on them.
More details:
I’m creating a tracking service class that would track connected clients. From my view, all that would be necessary for consumers to use this class is to expose an observable collection (possibly a ReactiveCollection) that exposes the connected clients, and notifies of changes to the collection which are managed by the service. The entitity representing the connected clients would also take advantage of INotifyPropertyChanged to notify of updates to the clients’ state.
Since ReactiveCollection is a derivative of .NET’s ObservableCollection (i.e. the non-Rx WPF/SL one), you could expose it as an ObservableCollection instead.