Design Patterns in C++ for Embedded Systems
Length: 4 days
view dates and locationsThis course is delivered in co-operation with Doulos' training partner Feabhas, who specialise in training courses for real-time embedded developers.
Course Description
It answers the following questions:
• What are design patterns and why should I be bothered by them, especially in embedded systems?
• Who are the “Gang of Four” and how is their work relevant?
• Which patterns are easy to work with and are most commonly found in embedded systems?
• Are there any specific patterns to embedded systems?
• What are anti-patterns?
• What is the difference between a pattern and an idiom?
Overview
Course Objectives
• To provide practical experience of working with Design Patterns.
• To understand the significant “Gang of Four” set of classical patterns and patterns associated specifically with multi-tasking embedded systems.
• To see how the patterns language can be used to document bad designs as, so called, “anti-patterns”.
• To give you the confidence to apply these new concepts to your next real-time project.
• To develop your understanding of Object Orientated principles through the lessons of others that are captured by design patterns.
Pre-requistes
• An understanding of Object-Oriented principles.
• UML class modelling is useful, but not essential.
Who Should Attend
Design Patterns aid considerably in collaborative working and the sharing of knowledge, at least initially by drawing on many external sources.
Course Materials
Related Courses
• Advanced C++ for Embedded Systems
Course Workshop
Course Outline
Introduction
- History
- What is a design pattern?
- GoF design patterns
- Typical problems in embedded systems
- Design patterns in embedded systems
- Intention of this course
Creational Patterns
- Singleton
- Abstract Factory
- Builder
- Prototype
- Factory
Structural Patterns
- Bridge
- Smart Pointers
- Reference counting
- Adapter
- Decorator
- Façade
- Composite
- Proxy
- Flyweight
Behavioural Patterns
- Chain of Responsibility
- Strategy
- Template method
- Interpreter
- Iterator
- Mediator
Object Orientated Callbacks
- Observer
- C++ callbacks
- Command pattern
- Publish and Subscribe
Anti- Patterns
- God class
- Lava flow
- Poltergeists
- Stove Pipe
Real Time Patterns
- Threading
- Mutex
- Semaphores
- Thread Pools
- Barriers
- Futures
- Latches
- Exchangers
- Notifications
- Executors
- Transactions
Real Time Anti-patterns
- Thread Affinity
- Race conditions
- Deadlock
- Livelock
- Priority inversion
| Course Dates: | ||
|---|---|---|
| February 6th, 2012 | Munich, DE | Course has started |
| February 13th, 2012 | Swindon, UK | Please call Doulos sales |
| June 25th, 2012 | Swindon, UK | Enquire |
Please contact Doulos to schedule a public course to suit you, or to discuss onsite training.
Back to top



