Objects are described as things that have machinelikemachine-like behaviors that can be plugged together to work in concert. These objects play well-defined roles and encapsulate scripted responses and information.<ref name="ObjectDesign-page3"/>
* Object Neighborhoods: Another term for subsystem.<ref name="ObjectDesign-page17">{{harvnb |Wirfs-Brock|McKean|2002| pp=17 }}</ref> It is a logical grouping of collaborators.<ref name="ObjectDesign-page17"/>
* Responsibilities: A responsibility is an obligation to perform a task or know information.<ref name="ObjectDesign-page3">{{harvnb |Wirfs-Brock|McKean|2002| pp=3 }}</ref> These are further categorized according to their usage scenario.
** Public Responsibilities: Public responsibilities are the responsibilities an object offers as services to others and the information it provides to others.<ref name="ObjectDesign-page126">{{harvnb |Wirfs-Brock|McKean|2002| pp=126 }}</ref>
** Private Responsibilities: Private responsibilities are the actions an object takes in support of public responsibilities.<ref name="ObjectDesign-page126"/>
** Subresponsibilities: These responsibilities come into existence wheneverSometimes, a large or complicated responsibility is split up into smaller ones called subresponsibilities.<ref name="ObjectDesign-page168">{{harvnb |Wirfs-Brock|McKean|2002| pp=168 }}</ref> They are further categorized bybased on what they do.
*** Subordinate Responsibilities: These areinclude the major steps ofin theeach subresponsibility.<ref name="ObjectDesign-page168"/>
*** Sequencing Responsibility Responsibilities: This responsibilityThese refersrefer to the sequencing of the execution of subordinate responsibilities.<ref name="ObjectDesign-page168"/>