Multi-context inheritance and other space-time phenonema

November 10, 2009

So who here really understands relativity?  Has anyone actually read some of Einstein’s papers – those meant for the general public – not the heavy scientific ones?  He was able to convey through simple text and diagrams many of the concepts he was on about.  I encourage anyone slightly curious to read them.  One hint: remember its the inertial frame of reference, not visual.

Why did I start with that?  Because its mind blowing, mind twisting and utterly complex and overwhelming.  Until you get it, at which point it becomes intuitive.  Just like complex or multi-context inheritance.  This is where the real beauty and elegance of all the hard work we’ve done to date comes to fruition.   Lets start with a diagram


Some years ago, a construction company that was doing quite well decided to splurge and buy several of the subcontractors companies – the best ones.  So they bought a plumbing company, electrical, fencing, floor covering etc.  And then panicked because they had several sets of customer data, general ledgers and worst of all many different types of Work Orders, workflows, etc.  There are plenty of G/L’s, AP/AR systems but custom integrated work order processing would be a problem.  Until you invent multi-context inheritance.  Keeping in mind the key catchphrase – “design is everything” its pretty easy.  Identify the common aspects of all Work Orders and Work Order Lines, abstract them, and inherit as applicable any number of concrete implementations of this.  The abstract classes contained about 1000 and 3000 lines of code (Order/Order Line) and none of the subclasses had more than 200 lines of code (and of course metadata descriptions).  The screens / UI were easy and looked like they had been tirelessly built from scratch, custom for each company – perfect fit at very low cost.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: