The Party, Place, Thing Class Archetype
Parties, places, and things are the main role-players in which we are interested. These are the individual people, organizations of various kinds (companies, charities, government agencies, schools, churches, etc), buildings or locations, and other individually identifiable objects that participate in one or more ways in the Moment-Intervals captured in our software.
| In business systems, the candidates for Party, Place, Thing classes are the actual people and
organizations with whom we conduct business, the actual places we go to conduct
business, and the individual things we give and receive in the course
of that business. Typically a place is some identifiable location where Moment-Intervals that we are interested in happen. We look for where parties or things come to rest, containers of things, and departure points and destinations of journeys and movements. A thing is a distinct entity participating in a Moment-Interval that is not a party and not the location where the Moment-interval is occurring. If parties answer the question of who is involved in a Moment-Interval and places answer the question of where a Moment-Interval occurs, then things are the answer to the question of what else is involved in a Moment-Interval. |
![]() Figure 1: The Party, Palce, Thing Class Archetype |
Typical Responsibilities
Like all the class archetypes, the usefulness of the Party, Place Thing class archetype in reviewing and building object models is due to its typical responsibilities, and the lists of typical attributes, operations and associations that represent those responsibilities.
More on typical responsibilities of Party, Place, Thing classes...
More on the typical attributes, operations and associations of Party, Place, Thing classes..
The Class Archetype Formerly Known As...
In 1997, Peter Coad, with David North and Mark Mayfield, published the second edition of their book, Object Models: Strategies, Patterns, & Applications. Page 435 describes a small object model pattern called 'Actor-Participant'. Today this is reflected in the Party, Place, Thing and Role class archetypes. In Streamlined Object Modeling: Patterns, Rules and Implementations, Jill Nicola, Mark Mayfield, and Mike Abney refer to the same collaboration as the 'Actor-Role' pattern.
It would seem intuitive to call the people and organizations that play roles in our software, actors [Coad 97]. Unfortunately, the term, actor, has been defined in UML to mean something that does not map to an individual person or organization as a role players. It is far closer to what we call a role. So to avoid causing any more confusion than has already been caused by the abuse of the term in UML, we stick with the term role-player.Another name sometimes suggested for this archetype is Entity but there are two arguments against using this term. Firstly it is already in use in the data-modeling world and although our parties, places and things naturally map to entities in data modellers' Entity-Relationship diagrams, the converse is not necessarily true. Secondly, the name Party, Place, Thing neatly reminds us that this archetype comes in three flavours, a fact that is of significance in the various analysis patterns involving class archetypes.
