The nanosome-notify project is a collection of cool mechanisms to notify others of changes and to listen to changes in a system.
For some reason every Model out there seems to
be broadcasting about changes of a property of a object. Fields
are a little bit different. They are holders for just one value
and they tell others about changes of that one property.
Now that might seem like a downgrade but actually is quite useful if you want to implement without depending to actually know what event or property one needs to listen to. This allows to implement a lot of neat modules that do not depend to certain interfaces.
More in the Fields package docs.
A classic - with Observable we have a fast,
reliable implementation of the classic
Observer pattern.
It can be used instead of [Bindable] if you wish
- it is certainly faster. It works well with the
binding implementation(below) which means it suits particularily
for making existing applications faster.
More in the Observable package docs.
We have a small function watch that allows to
listen to all properties (and sub-sub properties) of any object.
If that objects happen to have [Bindable] or has
observable properties it will take advantage of this situation
and do all that observing even efficient.
We implemented watch to make the job of binding
two properties together easier. Compared to flex its actually
very, very easy: just use bind and you can bind
two properties together.
All and more in the Bind package docs.
Expressions are a subset of Fields that
are useful for mathematical expressions that rely on parameters
like (a+a/4). It also offers working with visual
units like "cm" or "inch" or "%".
Get a full overview of how to use it in the Expression package docs.