Skip to content
Roland Pheasant edited this page Apr 5, 2016 · 5 revisions

Dynamic data is reactive collections.

It provides an observable list and an observable cache which have a large number of operators. These operators allow the fluent composition of complex functionality which takes the pain out of the asynchronous management of collections. This is achieved because when a source collection changes the operators self-maintain.

To illustrate it's usage, the following example takes an observable list, calls Connect() which makes it into an observable, filters on pensioners, sorts them and creates a new self maintaining observable list.

var people = new SourceList<People>();

var oldPeople = people .Connect()
    .Filter(person => person.Age > 65)
    .Sort(SortExpressionComparer<Person>.Ascending(p => p.Age).ThenByAscending(p=>p.Name))
    .AsObservableList();

At any time people can be amended and the rest takes care of itself.

So far very easy and it is. But as I said there are loads of operators. Even without counting overloads, the observable cache has over 60 operators and the observable list has over 40 operators so there is loads to learn but each thing you learn can save you countless lines of code when maintaining collections.

If you want to know more, here are some links

Dynamic Data ReadMe ObservableCache at a glance ObservableList at a glance

If you prefer to see dynamic data in action

Dynamic Trader which is a simple trading system. Tail Blazer which is an enterprise standard log tail system.