The aspects of our model we concentrate on as we develop it, and the order in which we do so, have a profound impact on our design results. In this column I want to put a fresh perspective on responsibility-driven design and introduce you to object stereotyping. Responsibilities and collaborations are common terms in today's popular literature.
Developers talk about object responsibilities when they consider what an object does.
Designers describe how an object performs its tasks in terms of its collaborations with others. We can think about an object's responsibilities at any point in our design. I think about them early. I think about them later, too. I revisit the distribution of responsibilities as I refine my design.