Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us
 sign up for Feabhas e-news

 


 C++ Training Courses
DP-402
Design Patterns in C++ for Embedded Systems

Length: 4 days
Cost: £1694
Course description - see below or view PDF
Check course dates - click here
Booking information - click here
 Course Detail

Course Description:
Everyone seems to be talking about design patterns these days. This course is designed to both show you what they are and how they can be applied to real-time C++ embedded systems.

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:
This 4-day course will give practical, hands-on experience with the core design patterns, uniquely addressing their suitability to a non-PC programming environment.

Course Objectives:
• To understand what Design Patterns are and how the language of patterns can aid designers and developers to be more productive.
• 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:
• A good working knowledge of C++.
• An understanding of Object-Oriented principles.
• UML class modelling is useful, but not essential.

Who Should Attend:
The course is aimed at software developers, designers, and architects wishing to make use of design patterns or software engineers in general who require a good briefing before deciding on their suitability to their projects.

Design Patterns aid considerably in collaborative working and the sharing of knowledge, at least initially by drawing on many external sources.

Duration:
Four days

Course Materials:
Delegate Handbook

Related Courses:
• Real-Time Software Design with UML 2.0 [OO-503]
• Advanced C++ for Embedded Systems [AC++-501]
• Embedded Software Testing [T-401]

Course Workshop:
The course exercises are designed to foster an understanding of design patterns, object orientation, and C++. Ample opportunity is provided for delegates to consider the implications of patterns to the size and space concerns of embedded systems whilst reflecting on the broader quality issues that they directly address.

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

This course is due for release late October 2008. This is a preliminary datasheet and may be subject to minor changes.

 telelogic website

Training Courses
C Training Courses
C++ Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-501
AWDM-501
CE-501
C-501
C++-303
C++-501
C++-502
C++-503
DP-402
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-401
TCP-401
WDF-501
WDM-501