Design patterns

A pattern is a problem that repeats over and over again. A design pattern is a pattern in the context of software design, this is, the process of designing a new system to fulfill some requirements. At it’s core, a design pattern is the explanation of a common problem and it’s general solution.

When talking about design patterns, we can classify them by its main motivation/scope:

  • Creational: class and object creation
    • Create a system that works independently of how its classes and objects are created.
  • Structural: class and object composition
    • How classes and objects are composed to create larger and more complex structures.
  • Behavioral: class and object interaction
    • Describe algorithms, communication protocols, etc, using classes and objects to encapsulate this knowledge and behaviors.

Full list of patterns, as described in Design Patterns book, is the following:

Notes References

20210408132439 Computer science

References