Roles, stereotypes, kinds of objects

I’ve been thinking lately about the ways that different authors explain OOP. I’ve drawn a little diagram that I would like to share with you.

The sources for this are, in no particular order:

Each of these authors has a perspective I find useful. I would love it if there was a comprehensive, single model, but so far I can’t see how to systematize them.

It gets weirder when you start collecting design principles… I might do a mind map of those some day. Somehow I can see how SOLID and GRASP (for instance) are compatible. They are pointing in the same general direction, but from different angles.

One Response to “Roles, stereotypes, kinds of objects”

  1. Jacopo Says:

    Recommended reading on the topic is Wirfs-Brock’s “Object Design” book, expecially introductory chapters on roles, responsibilities and object collaborations:

    Also, here’s a quick report on SOLID and GRASP principles I wrote some time ago:


Leave a Reply