– 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