Design Patterns Course

A design pattern is an optimised, reusable design solution to a programming problem that occurs often. It is not specific to a particular programming language. Design patterns improve code, because they provide a tested solution to a problem, and make it easier to maintain the code. This course will give you a solid foundation in design patterns: how to classify them, how to identify the right pattern, and when to use or avoid using a design pattern.

Duration: 4.5 days. Courses are presented from 08:30 to 16:30.
Investment: R10,400.00 excluding VAT per delegate.
Venue: The Incus Data Training Venue in Centurion, Pretoria. Courses can also be presented on-site for 5 or more delegates.
Dates: Please check the course schedule for the next available date. You can also contact us at tel: (+27) 12 666 2020 or email us at to find out about dates.

Download the Design Patterns course contents in PDF format

Please fill in this form if you would like us to contact you about your training requirements, or if you would like to be kept informed of dates for the Design Patterns course.

Fields marked with * are required.

Please enter your name

Please enter your surname

Please enter a valid phone number eg. 0126662020

Please enter a valid email address

If you would like us to email you a formal quote, please complete the following:

Type in 'Private' if you are paying for yourself.

Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

Audience: Is This The Right Course For Me?

You should attend the Design Patterns course if:

  • You are an experienced programmer and want to learn more about design patterns.
  • You are a systems architect and need to know more about design patterns and anti-patterns.

Prerequisites: Am I Ready For The Course?

Before you attend the Design Patterns course:

  • You must have experience programming in an object-oriented language such as Java, C++, C# or VB.NET.
  • You must have attended our Object-Oriented Analysis and Design Course or have experience in OO analysis and design.

Please ensure you meet the prerequisites for the Design Patterns Course before you attend the course. Read the importance of course prerequisites to understand why this is necessary.

Objectives: What Will I Learn?

After you have completed the Design Patterns course, you will be able to:

  • Identify and use design patterns correctly.
  • Identify the wrong use of a design pattern.
  • Understand the Gang of Four (GoF) design patterns.
  • Identify and classify behavioral, creational and structural patterns.

Technical Contents: What Does The Course Cover?

Revision of OO Concepts and Methodologies.
  • MVC paradigm.
  • Classes and objects.
  • Attributes and behaviours.
  • Data encapsulation.
  • Polymorphism, overloading and overriding.
  • Inheritance and interfacing.
  • Composition and aggregation.
  • OO methodologies.
  • Iterative, incremental development.
  • Inception, Elaboration, Construction, Transition phases.
  • Robustness analysis.
UML Revision
  • Use case diagrams and use case text.
  • Activity diagrams.
  • Class and object diagrams.
  • Sequence and communication diagrams.
  • State and timing diagrams.
  • Component and deployment diagrams.
  • Package diagrams.
  • Visual modelling tools.
Introduction to Design Patterns
  • Design patterns history.
  • Design patterns as proven solutions to common design problems.
  • The Gang of Four (GoF) patterns.
  • Creational, structural and behavioural classifications.
  • Design patterns vs design principles.
Components of a Design Pattern
  • Name, Intent, Motivation, Applicability, Structure, Participants, Collaborators, Consequences, Implementation.
Creational Patterns
  • Abstract Factory.
  • Builder.
  • Factory.
  • Prototype.
  • Singleton.
Structural Patterns
  • Adaptor.
  • Bridge.
  • Composite.
  • Decorator.
  • Facade.
  • Flyweight.
  • Proxy.
Behavioural Patterns
  • Chain of Responsibility.
  • Interpreter.
  • Command.
  • Iterator.
  • Mediator.
  • Memento.
  • Observer.
  • State.
  • Strategy.
  • Template method.
  • Visitor.
Additional Patterns
  • Model-View-Controller (MVC).
  • Simple Factory.
  • Null Object.
Architectural Issues
  • Relationship between design patterns and architecture.
  • Applying patterns to an architectural solution.
  • SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) design principles
  • GRASP (General Responsibility Assignment Software Principles) guidelines.
  • Coding styles.

Testimonials: What Other Delegates Say About This Course

This is a new course and will be presented for the first time in 2016.

To get an idea of the quality you can expect, look at the testimonials for the other Java-related programming courses, as well as the courses on Object Orientation.

How Do I Book?

It's easy to book: Fill in our course enrolment form (editable PDF file) and fax it to us at (+27) 12 666 2021 or email it to us at

After we have received your booking, we will send you a confirmation that you are booked on the course, an invoice and directions to the venue.

Tip: Most PDF readers, other than Adobe Reader, will let you save the form with the data you have entered. If you are using Adobe Reader, however, you might not be able to do this. But don't despair: when you have typed in the information, just print the file to PDF - and you'll have a completed enrolment form ready to email to us.