This document outlines an object-oriented design approach called responsibility-driven design. It discusses key object-oriented design concepts like components, classes, instances, behavior and state. It also uses a sample interactive kitchen helper application to demonstrate design techniques like identifying components, creating CRC cards to define responsibilities and collaborators, and designing for change. The document is intended to guide readers through an object-oriented design process.