– Refactoring and redesigning software is hard. – I’ve started seeing an underlying pattern to the hard. – OOP was supposed to be about messaging, – But messaging semantics are impossible in the C++/Java/Ruby/etc. – As a result our systems are full of processes modeled as transactions. – This exhibits as BOTH splitting processes across multiple objects, and as objects containing parallel “stories” – Implicit to message oriented is process oriented – What if we structured our systems, not by actions, not by data globs, but by process? – What if we used this as the heuristic for refactoring? – …what if we applied this to our lives as well?

Responses