About this course
A design pattern is an optimised, reusable design solution to a common programming problem. Design patterns improve code, because they provide a tested solution to a problem, and make it easier to maintain the code.
The Design Patterns course is for programmers who want to know how to use design patterns to write better code. It is not specific to a particular programming language. 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.
What others say
K. Smith
S. Gandilall
S. Kgoarai
B. Maphophe
M. Singh
P. Raubenheimer
A. Rankapole
L. Mmoke
K. Kamasha
Why you want to attend
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.
What you need to know first
Before you attend the Design Patterns course:
- You must have experience programming in an object-oriented language such as Java, C++ or C#.
- You must have attended our Object-Oriented Analysis and Design Course or have experience in OO analysis and design.
Price and duration
Price: R15,800.00 excluding VAT per delegate.
This price includes everything that you need:
- All course material, provided in an electronic format.
- An attendance certificate after the course, in PDF format.
Duration: 5 days.
The Design Patterns course is presented virtually. Find out more about our virtual training and how it works.
Please check the course schedule for the next available date.
How to book
It’s so easy to book for the Design Patterns course.
Just email us at info@incusdata.com. You can send us a purchase order, or fill in our course enrolment form.
After we have received your booking, we will confirm that you are booked, and we’ll send you an invoice.
Detailed course contents
Revision of OO Concepts and Methodologies.
- Classes and objects.
- Attributes and behaviours.
- Data encapsulation.
- Polymorphism, overloading and overriding.
- Inheritance and code reuse.
- Interfaces, abstract classes and concrete classes.
- 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.
- Component and deployment diagrams.
- Class and object diagrams.
- Sequence and communication diagrams.
- State machine and timing diagrams.
- Package diagrams.
- Visual modelling tools.
Design Principles
- General design principles.
- Design heuristics.
- Class design principles – Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion (SOLID).
- Package design principles of coupling and cohesion.
- Model-View-Controller (MVC) architecture.
- Styles, patterns and idioms.
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
- Simple Factory.
- Null Object.
Download the course outline
Download the Design Patterns course outline in PDF format.