#OOD for Ruby Notes
##Chapter 1: Object-Oriented Design
- The world is procedural. One step at a time (like a script).
- OO is about the objects that message back and forth between each other
- You have to "Design" code because that code WILL change. If it never changed, then you can code it whatever way you want and it wouldn't matter.
- By sending a message, the sender has to know something about the receiver. This of course means there's a dependency. And the key to OOD is MANAGING dependencies.
- There is always a battle between what needs to get done NOW vs creating something that is designed better that will take more time. This balance will come with experience (I HOPE)
- Agile is the method that allows design to be an iterative process. This allows for better OO design as well.