Responsibility-driven design specifies object behavior before object structure and other implementation considerations are determined. We have found that it minimizes the rework required for major design changes.

— Rebecca Wirfs-Brock, Object-Oriented Design: A Responsibility-Driven Approach (1989)

Topics: software design