Qi4j @ JFocus 2008 - Composite Oriented Programming
OOP neglects the need of objects to adjust its behavior depending on the context. “John is a parent and programmer in the city, but a hunter and food in the jungle.”. Same object, different contexts. OOP has also not fulfilled its promise of re-usability, partly due to such static behavior and partly due to its inability to deal with fine-granularity of states and behaviors. Composite Oriented Programming addresses these issues, and Qi4J is an implementation available to Java programmers today.
Check the presentation slides online here.