Programming by Difference
- OOP
- Add new behavior (add new method to derived class)
- Replace behavior (override base class method)
- Re-use behavior (do nothing, defaulting to inherited behavior)
- Only changes in behavior require changes in program code
- is_a relationship
- HSM
- Add new behavior (add new event handler to substate)
- Replace behavior (re-define superstate event handler)
- Re-use behavior (do nothing, defaulting to superstate event handler)
- Only changes in behavior require changes in program code
- is_in relationship
|