Responsibility-Driven Design Revisited
Details
This is a ticketed event - get your free ticket from our website: https://dddlondon.com/events/responsibility-driven-design/
How do we use objects to model a domain? Whilst Domain-Driven Design (DDD) exhorts its practitioners to focus on the domain, it is surprisingly sparse on how we should accomplish that, other than a few patterns whose job is to abstract away concepts that live outside of that domain. What though of the domain model?
In Domain-Driven Design, Eric Evans is explicit that it relies on usage of Rebecca Wirfs-Brock’s Responsibility-Driven Design (RDD), which sees allocation of responsibilities as the key technique for splitting our system into co-operating objects.
Despite this, many developers who are aware of DDD, know little about RDD. In this talk we aim to set that right with a journey into RDD. In an example-driven talk we will work through analysing a domain using RDD, explaining key techniques such as CRC cards for modelling the domain. Along the way, we will explain key concepts like responsibilities, roles, object stereotypes, and control styles.
Finally, we will ask how RDD fits into our current approaches to software development. We will re-explore its relationship to DDD and look at how techniques like TDD can be used to help us uncover responsibilities, roles and collaborators.
A big thanks to Ian Cooper for arranging our venue, and as usual thank you to The Ministry of Software Design for organising.
### About Ian Cooper (Coding architect, pierced, bearded, tattooed)
Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The ‘guv’ on @BrighterCommand
Ian can be found on LinkedIn, BlueSky, and Mastodon: ICooper @ hachyderm.io
## Refreshments
Pizza and soft drinks will be provided.
## Agenda
- 6:00pm: Arrive for networking & refreshments
- 6:30pm: Talk begins. Q&A.
- 8:00pm: Finish
## Recording
Photos and video will be captured at the event, and shared online at a later date.
## Tickets
This is a ticketed event. Please register for your ticket with good notice and cancel/void your ticket if no longer able to attend.
