The pattern-driven architecture
A design pattern is a generalized solution to commonly occurring problems. Let's break this down.
First, a design pattern captures a design solution in a general way. That is, the aspects of the design that are unique to the specific problem being solved are abstracted away, leaving the generally necessary structures, roles, and behaviors as-is. The process of identifying the underlying conceptual solution is known as pattern mining. This discovered abstracted solution can now be reapplied to a different design context, a process known as pattern instantiation. Furthermore, while each design context has unique aspects, design patterns are appropriate for problems or concerns that reappear in many systems designs.
Note
Please refer to Design Patterns for Embedded Systems in C, by Bruce Douglass, Ph.D. 2014, for more information.
To help you work with design patterns, you should keep two fundamental truths in mind:
- Design is all...