The design of Real Time and embedded systems must be powerful, efficient, and highly reliable. The constraints of processor and memory resources add to this challenge. Sophisticated developers rely on design patterns for building fail-safe RTE systems.