Architectural pattern

Software architecture pattern is a reusable, proven solution to a specific, recurring problem focused on architectural design challenges, which can be applied within various architectural styles.

[1] Some examples of architectural patterns: