Chapter 7Architecture Patterns and Principles

Did you know that you use patterns every day? It is a very powerful mechanism and much more powerful when they are explicit and known. A pattern describes a proven solution for a problem. Every experienced engineer has a huge set of patterns. Think about your daily work. If you have to solve a problem that you have solved successfully before, you will remind your solution and apply it again. If you describe your solution in a general and reusable way, you have made your experience explicit and persistent. Voilà! You have found a pattern.

Architecting is not a task that can be done simply with checklists and predefined processes. It is strongly based on the experience and talent of the system architects. Patterns are good tools to make the implicit knowledge of the system architect explicit. Nevertheless, checklists and processes still support the architect and are also in one drawer of her toolbox.

Patterns and principles are documented best practices and proven experiences of system architects. It is recommendable to consider them and you need very good reasons to work contrary.

You can't invent a pattern. You can find and describe a pattern. One of the first who did that and triggers the pattern community with his work “A pattern language” was C. Alexander [5]. His book is not about software or systems engineering patterns, but about architecture patterns for buildings. Of course, manifesting best practices by writing them down ...

Get Model-Based System Architecture now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.