Software Patterns

Pattern System

To use patterns effectively, we need to organize them into pattern systems. A pattern system describes patterns uniformly, classifies them, and most importantly, shows how they are interwoven with each other. Pattern systems also help you to find the right pattern to solve a problem or to identify alternative solutions to it. This is in contrast to a pattern catalog, where each pattern is described more or less in isolation from other patterns. Pattern systems help us to use the power that the entirety of patterns provides.

Object-oriented features are not essential for implementing many patterns. Most of them just happen to have oo variations/implementations.


An idiom is a low-level pattern, specific to a programming language. An idiom describes how to implement particular aspects of components or the relationships between them using the features of the given language. Idioms represent the lowest-level patterns. They address aspects of both design and implementation.

Design Patterns

See Design Patterns

Architectural Patterns

See Architectural Patterns

Continuous Integration Patterns

See Continuous Integration Patterns

Integration Patterns

See Integration Patterns

Anti Patterns

See Anti Patterns

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License