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: 5 days. Courses are presented from 08:30 to 16:30.
Investment: R10,900.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 cell/WhatsApp: (+27) 76-694-7705, or email us at info@incusdata.com to find out about dates that suit you.

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 this course before you attend. Read the importance of course prerequisites to understand why this is necessary.

If you are not sure which is the right course for you, please call us. We will be happy to advise you, based on your training goals and your experience.

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

"Lewis is an excellent lecturer with a vast amount of knowledge and experience. Incus Data's venue, rest of the employees are great! Thanks!"

P. Raubenheimer, Armscor   (Lecturer: Lewis)

How Do I Book?

It's easy to book: Fill in our course enrolment form (editable PDF file) and email it to us at info@incusdata.com.

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.