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
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?
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
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
have written a book on responsibility-driven design called ObjectDesign: Roles, Responsibilities and Collaborations
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.