In this presentation held during OOPSLA 2008, Rebecca Wirfs-Brock reviews various forms of driven development in order to understand the principles and values of several design practices used today. By comparing them, a designer will get a broader view over design and will better understand which design practice is more appropriate for him.
Watch: What Drives Design? (1h 18 min.)
Rebecca reviews several design practices including:
- Responsibility-Driven Design
- Test-Driven Development
- Behavior Driven Development
- Contract-Driven Development AKA Design by Contract™
- Agile Model-Driven Development
- Feature Driven Development
- Model-Driven Development™
- Model-Driven Engineering
Rebecca explains how some design practices came into being, how they have been used over the years and what are the values associated with using them. She also compares some design practices like in this example:
Data-Driven Design Responsibility-Driven Design Centralized control Delegated control Controllers Coordinators Inherited attributes Inherited behavior Many low-level messages Fewer, higher-level messages Lots of simplistic information holders A few smart objects that blend role stereotypes