Design based on the principle that some class has to be responsible for each task that the system will carry out. The responsible class may collaborate with other classes to carry out its task. (It's probably a good idea if each responsibility occurs OnceAndOnlyOnce.) DesigningObjectOrientedSoftware by RebeccaWirfsBrock et al. ISBN:0136298257 was the first book to articulate this approach to design, to the best of my knowledge. Does anyone know of earlier references? -- JohnBrewer I'll bet BertrandMeyer's book, ObjectOrientedSoftwareConstruction, is a good contender. Although I never read it, I understand that it does mention the idea of OnceAndOnlyOnce. Although, I might be wrong. -- SunirShah If you want to get the sense of ResponsibilityDrivenDesign, read ''Object-oriented design: a responsibility-driven approach'' by RebeccaWirfsBrock and B. Wilkerson, Conference proceedings on Object-oriented programming systems, languages and applications, 1989. There are some articles and presentation files you can download at http://www.wirfs-brock.com/Resources.html. -- JuneKim RebeccaWirfsBrock and AlanMcKean have written a book on responsibility-driven design called ''ObjectDesign: Roles, Responsibilities and Collaborations''. ---- DesigningObjectOrientedSoftware was published in 1990, while WardAndKent presented their CRC paper in OOPSLA in 1989. I think that that paper contains most (if not all) of the concepts linking Roles&Responsibilities with OO-Design, and it certainly predates Rebecca's book. -- GastonNusimovich ----- In that paper Ward Cunningham and Kent Beck acknowledge Wirfs-Brock's work (in particular a paper she presented with Brian Wilkerson at OOPSLA '89) in creating a methodology that uses CRC cards. They similarly acknowledged a 1988 paper by Reenskaug. ----- See PrimaryNoun, ResponsibilitiesSubsumeOtherRules ---- CategoryCrcCards. CategoryInfoPackaging