0800 282 353 or +44 1372 364610
TRAINING YOU CAN TRUST
 
 

C++ Best Practices and Design Patterns: Hands-On

 
Course: 397   Type: Hands-On Training   Duration: 4 Days
 
 

You Will Learn How To

  • Design and implement efficient object-oriented solutions using C++
  • Improve C++ code quality and reusability with design patterns and proven idioms
  • Build robust, efficient libraries using namespaces, templates and exceptions
  • Use the standard C++ library, including the Standard Template Library (STL)
  • Leverage third-party tools, class libraries and application frameworks
  • Avoid the subtle traps and pitfalls of C++ programming

Course Benefits

The ability to leverage the work of others, avoid pitfalls, and apply proven idioms and patterns can greatly improve the effectiveness of programming efforts. In this course, you learn to increase productivity by combining tools, idioms, syntax and libraries to produce industrial-strength C++ code. Numerous hands-on exercises provide real-world experience in developing high-quality C++.

Who Should Attend

Programmers, software engineers, analysts and designers wishing to develop advanced C++ skills. Previous C++ programming experience is assumed.

Hands-On Training

Our expert instructors guide you through practical hands-on exercises that reinforce your skills in advanced C++ programming techniques. Learn by doing as you develop complete programs from architectural design to refining the implementation via a series of exercises, including:
  • Forwards- and reverse-engineering C++ and UML
  • Improving code quality using design patterns
  • Modifying a working, but poorly structured, application to increase flexibility, robustness and efficiency
  • Applying all the major components of the STL
  • Using namespaces, exceptions and templates to build reusable libraries
  • Debugging and correcting subtle errors

Related Courses

  • 216 UML 2 Comprehensive Introduction
  • 323 OO Analysis & Design Using UML
  • 312 Software Quality Assurance
  • 419 C# Programming
  • 342 Software Change, Configuration and Release Management
  • 315 Developing User Requirements
  • 296 Project Management: Skills for Success

  C++ Best Practices and Design Patterns

Upcoming Dates

19 - 22 Aug, 2008
London
11 - 14 Nov, 2008
London
17 - 20 Feb, 2009
London
5 - 8 May, 2009
London

For complete schedule, please visit www.learningtree.co.uk
 
http://www.learningtree.co.uk/courses/uk397.htm
 
 
0800 282 353 or +44 1372 364610
TRAINING YOU CAN TRUST
 
 

C++ Best Practices and Design Patterns: Hands-On

 
Course: 397   Type: Hands-On Training   Duration: 4 Days
 
 
Course Content
 

Introduction to Object-Oriented Development

OO fundamentals

  • Inheritance, encapsulation and polymorphism
  • Classes, objects and attributes
  • Associations, messages and methods
  • Interfaces and abstract classes

Using the Unified Modeling Language

  • Characteristics of UML
  • Mapping UML into C++

Exploiting development tools

  • Automating the life cycle with CASE tools
  • Code generation and reverse engineering
  • Debuggers and browsers

Idioms and Design Patterns

C++ idioms

  • Handle/body and related idioms
  • Functors: functions coded as objects

Introducing design patterns

  • The motivation for design patterns
  • Categories of patterns: creational, behavioural and structural
  • Describing design patterns

Putting patterns to work

  • Synchronising multiple views with the Observer pattern
  • Handling recursive data structures with the Composite pattern
  • Minimising code duplication with the Template Method pattern
  • Managing object creation with the Singleton pattern

Using the ISO Standard C++ Library

The Standard Template Library (STL)

  • The structure of the STL
  • Declaring and populating sequence and associative containers
  • Accessing containers using iterators
  • Applying standard and user-supplied algorithms
  • Customising behaviour using function objects and adapters
  • Extending the STL

The new iostream library

  • Basic input/output
  • Formatting textual output
  • Handling errors in input data
  • Wide character types and internationalisation

Storage Management

Managing memory

  • Recognising and reducing memory overhead
  • Preventing memory leaks with the auto_ptr template
  • Overloading operator new and operator delete
  • Writing and using smart pointers

File storage

  • Serialising objects

Object databases (odbmss)

  • The ODMG standard for portable ODBMS programming
  • Using the C++ language binding
  • Making classes persistent
  • Finding objects by queries and navigation

Writing Better C++

Increasing reusability

  • Avoiding name clashes using namespaces
  • Using templates for type-safe reusability

Improving robustness

  • Strengthening encapsulation by consistent and appropriate use of const
  • Implementing a coherent exception strategy
  • Decoupling algorithms from data structures with the Visitor pattern

Enhancing efficiency

  • Saving processing and memory with reference counting
  • Sharing state between lightweight objects

Avoiding C++ Traps and Pitfalls

Things you need to do--and why

  • Virtual destructors
  • Assignment operators and copy constructors

Features to handle with care

  • Friends vs. public members
  • Runtime-type information vs. virtual member functions
  • Multiple and virtual inheritance
 
http://www.learningtree.co.uk/courses/uk397.htm
 
 
0800 282 353 or +44 1372 364610
TRAINING YOU CAN TRUST
 
 

C++ Best Practices and Design Patterns: Hands-On Tuition

 
Course: 397   Type: Hands-On Training   Duration: 4 Days
 
 

Course 397 Tuition

£ 1,695Standard Tuition
Tuition with a Savings Plan
£ 98010-Day Training Pass
£ 915Flex-Training Pass
£ 1,46010-Training Vouchers
£ 1,5605-Training Vouchers
£ 1,525Alumni Gold Tuition

Your Course Fee Entitles You To...

  • Class participation
  • Team workshops
  • Use of in-class hands-on equipment
  • Comprehensive course materials
  • Morning and afternoon refreshments
  • Lunch
  • Course Completion Certificate
  • FREE participation in the Learning Tree Professional Certification Programmes (including related exams)
 
 

Tuition Savings Plans

Flex-Training Pass
  • 3 Courses for £2 750
  • As little as £915
  • Savings as much as 50%
  • 3 courses in 24 months
10-Day Training Pass
  • Save as much as £770 per course
  • Any combination of courses
  • Only £2,450
Training Vouchers
  • Save as much as £535 per course
  • Fully transferable
  • As low as £1,460 per course
Alumni Gold Discount Attend your first course and you will receive a personalised Alumni Gold Discount card, entitling you to save as much as £200 on each course you take in the following 24 months. Take just one course every two years, and you will be entitled to ongoing discounts...year after year. You save 10%.
* Exact savings may vary depending on courses selected.

Your Guarantee of Satisfaction

Unless you feel 100% satisfied that Learning Tree delivered even more than you expected, there is no fee for your course attendance. Our Guarantee of Quality lets you experience the value of the course - and then pay only if you feel the course was well worth the fee.

Enrolling is Easy and Flexible!

Enrol by phone or online. If your plans change, just let us know and, without a fee, you can transfer to another course or cancel your enrollment. Pay after you've taken the course, and then only if you are 100% satisfied.

 
http://www.learningtree.co.uk/courses/uk397.htm