US / UK-EMEA / Contact Ask DevelopMentor a Question800.699.1932

Designing Patterns, Templates and Policy-Based Design Training

(FW294) 1 Day Course, $995
 
Upcoming Classes:

What You Will Learn

Course Highlights

Course Details

Dates & Locations

The book Design Patterns by the "Gang of Four" (i.e., the "GOF") introduced the idea of patterns to the software development community. This seminar offers a novel view of design patterns, focusing on how templates can make working with patterns more effective. The seminar also describes policy-based design (PBD), a template-based technology introduced in Andrei Alexandrescu's Modern C++ Design that can generate dozens of implementations for the same pattern, each embodying a unique set of design trade-offs.

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Participants will gain:
  • A knowledge of which pattern names are most important to know.
  • Familiarity with a number of common design patterns, including less frequently known variations.
  • An exposure to template metaprogramming.
  • An understanding of how template technology can be used to help generate pattern implementations.
  • A familiarity with the implementation and application of policy-based design.

Format: Lecture and question/answer. There are no hands-on exercises, but participants are welcome to use their computers to experiment with the course material as it is presented.

What You Will Learn

Course Highlights

Course Details

Dates & Locations

  • Brief review of design patterns and programming idioms.
    • Why study design patterns?
    • The most important pattern names to know.
    • Patterns vs. code
      • Common variations in the Factory pattern
  • Visitor and variations:
    • The classic GOF Visitor pattern
    • The Visitor encapsulation problem
      • How the Private Inheritance pattern can address it
    • The Acyclic Visitor pattern, its pros and cons
    • The Ad Hoc Visitor technique:
      • Typelists
      • Template metaprogramming to generate cascading type tests
  • Two views of Observer:
    • Summary of the classic GOF Observer pattern
    • A template-based approach built on tr1::function:
      • Overview of TR1 and Boost
      • Using tr1::function to eliminate the Observer base class
      • Advantages and disadvantages of the approach
  • Singleton and Related Patterns:
    • The classic GOF Singleton pattern, its pros and cons
    • Meyers' variant
    • The Monostate pattern
    • Singleton and thread-safety
      • The Double-Checked Locking pattern and why it's not safe in C++
  • Policy-Based Class Design (PBD):
    • What it is
    • Alexandrescu's PBD approach to Singleton
      • Identification of orthogonal policy issues
      • Implementing policies via templates
      • The Loki library
      • Using policies via template template parameters
      • Pros and cons of this approach
    • PBD and generative programming
  • Sources for Additional Information

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Upcoming Dates & Locations

There are no upcoming scheduled engagments of this course. We can schedule an on-site event at your convenience.
Ready?
Connect
Signup for our Free Newsletter!
Latest news
Twitter Feed MORE
Got an email from a developer in Holland about my Onion Architecture blog post http://t.co/Z5DTvJob Nice to have a worldwide audience! #dm
1 day ago (details)
There is something to this statement: Why Quit? Because They Have Bigger Monitors http://t.co/9FrGETG5 #dm (via @mkennedy)
2 days ago (details)
Testimonials
  • Llewellyn Falco’s visit was nothing short of magnificent. His expertise has me tracking much straighter now - doing things faster than I dreamed possible. Phil H.