Categories of design patterns

Design patterns can be categorized in different ways according to the criteria chosen. A commonly accepted way of categorizing patterns is based on their purpose. In other words, we ask the pattern what class of problem the pattern solves.

This kind of categorization gives us three neat varieties of pattern classes. These are as follows:

  • Creational: These patterns solve the problems associated with object creation and initialization. These are problems that occur the earliest in the life cycle of problem solving with objects and classes. Take a look at the following examples:
    • The Factory pattern: The "How do I make sure I can create related class instances in a repeatable and predictable fashion?" question is solved ...

Get Software Architecture with Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.