Perfect Storm

A perfect storm is a combination of events that result in a huge change to the environment.

My codeplex project Perfect Storm is intended to be a collection of software parts that each may be used independently yet become very powerful when used in concert.

The first part written was a xslt based code generation suite.

Further additions have included:

  • A set of smart types – primitives that know their previous state and can detect whether a value has been set.
  • A model base class that adds to the smart types using the composite pattern along with an associated navigator class that allows xpath querying of your object tree (this is far stronger than linq which assumes a list structure).
  • A lightweight class loader.
  • An interface to the rules engine of the workflow foundation.

I have recently been expanding the model types to implement INotifyPropertyChanged to assist in is use as the view model component in the M-V-VM pattern used by WPF. Given that this library was designed to work with winforms (which can also use the INotifyPropertyChn) the changes were limited to extensions.