Training Courses‎ > ‎

Introduction to Design Patterns

Course Title:   "Introduction to Design Patterns"

This course introduces mechanisms to create object-oriented algorithms, as opposed to merely object-oriented data.  Particular emphasis is given to how multi-threading affects the design and use of design patterns.

This course focuses on examining and studying sample code from real projects.  It starts with the commonly known design pattern examples and then goes into detail with more examples from real projects.  Emphasis is on applying the concept of design patterns to large, complex software engineering projects.

Who should take this course?
  1.  If you ever create global variables, then you should take this course.  (Global variables cause maintenance nightmares, particularly so in multi-threaded environments.  In an object-oriented environment, the only valid reason to use global variables is that someone else already did and it’s too much work to fix.)
  2.  If you think that “object-oriented” means that data is defined as objects, then you should take this course.  (Objects should also be used to define and represent algorithms, policies, strategies, states, and responsibilities.)
 Course prerequisites:  Experience with C++ or Java.  This includes familiarity with constructors and destructors.  Ideally participants would also be familiar with operator overrides, polymorphism (templates and virtual functions), and class hierarchies.

Upon completion of this course, participants will have learned how these important concepts and patterns fit into the software development process, and how they can be leveraged to solve our design problems most efficiently.  All of the examples and case studies will in C++; however, most of these design patterns can be implemented in Java and some of them can be implemented in C.

All participants are urged to purchase a copy of the text book upon which this training is based, namely:
    Design Patterns: Elements of Reusable Object-Oriented Software
    By Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides

 The hard copy version is:
          ISBN: 0-201-63361-2, Copyright: 1995
          Approx $55US

The CDROM version is
          ISBN: 0-201-63498-8, Copyright: 1998
          Approx $35US.

The textbook is widely referred to as GoF (rhymes with "cough", which stands for Gang-of-Four) because no one can remember the authors' names:  Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides.

All of the GoF Design Patterns are introduced and discussed.  Examples not found in the GoF book are included for most of the design patterns.

Creational Patterns
  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton
Structural Patterns
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy
Behavioral Patterns
  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor
For more information on this and other training course, please contact us.

  Sign in   Recent Site Activity   Terms   Report Abuse   Print page  |  Powered by Google Sites