An object-model pattern is a template of objects with stereotypical responsibilities and interactions; the template may be applied again and again, by analogy. Patterns are building blocks, very helpful in building effective object models. Patterns are categorized into these pattern families: