Course : Design Patterns, implementation

Practical course - 5d - 35h00 - Ref. DES
Price : 2930 CHF E.T.

Design Patterns, implementation



Required course

This course will train you in application design and modern design practices such as test-driven development and refactoring. Numerous case studies will teach you how to create scalable and reusable applications, taking into account the main design patterns.


INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class
Available in English on request

Ref. DES
  5d - 35h00
2930 CHF E.T.




This course will train you in application design and modern design practices such as test-driven development and refactoring. Numerous case studies will teach you how to create scalable and reusable applications, taking into account the main design patterns.


Teaching objectives
At the end of the training, the participant will be able to:
Understand the fundamentals of object-oriented design
Apply the basic rules for dividing an application into packages
Apply the principles of application class construction
Put test-driven development into practice
Implementing the main Design Patterns

Intended audience
Designers, developers, architects or project managers.

Prerequisites
Knowledge of an object-oriented language.

Practical details
Hands-on work
Participant workshops will be run in the language of their choice (Python, Java, C++, C# or VB, .Net).

Course schedule

1
Design presentation

  • A reminder of the fundamentals of OOP and UML.
  • The benefits of UML for design.
  • The challenges of design.
  • Using inheritance. Advantages and disadvantages.

2
Fundamentals of object-oriented design

  • The open-close principle (OCP) and Liskov substitution principle (LSP).
  • Concept of polymorphism, weak coupling and strong cohesion.
  • The impact of object-oriented design on projects.
Hands-on work
Division of responsibilities between classes.

3
Class construction principles

  • Dependency management with dependency inversion (DIP).
  • Reducing apparent complexity by separating interfaces (ISP).
  • Division of responsibilities with GRASP.

4
Package organization principles

  • The package: a delivery/reuse design unit (REP) and common reuse (CRP).
  • Package breakdown. CCP.
  • Organization between packages.
Hands-on work
Building and prioritizing packages.

5
Test-driven development

  • Test Driven Development (TDD) versus Model Driven Engineering (MDE).
  • Writing test cases and test suites.
Hands-on work
Assigning responsibilities to software components using the TDD approach.

6
Design Pattern principles

  • Design Patterns for reusing experience.
  • Scope, advantages and limitations of Design Patterns.
  • Responding to recurring problems.
  • The founding patterns of Gamma and GoF: creation, behavior and structure patterns.
  • Refactoring. Why refactor?
  • Modification of code presentation and class algorithms. Redesign.
Hands-on work
Example of design, refactoring and programming with GoF patterns.

7
Software architecture and architectural patterns

  • From requirements to architecture.
  • Architectural styles.
  • Distribution patterns (Client Server Style, Data Bus Pattern, Blackboard, Repository).
  • System design patterns (MVC, layered architecture, Plug-in Style, Pipeline).

8
Development process

  • Design in an iterative, incremental process.
  • The Agile manifesto. XP, Scrum.


Customer reviews
4,1 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
DAVID B.
29/06/26
4 / 5

Sujets clairement expliqués et dans l’ordre croissant de difficulté.Formateur calme et posé dans ces explications, qui nous accompagne du début à la fin.Seules reproches : - L’utilisation d’examples en Python dans un environnement orienté objet est un peu étrange. Je pense que des exemples en pseudo-code ou dans un langage plus orienté objet (Java/C++/...) serait idéal.- J’ai trouvé un peu redondant d’utiliser l’exemple de la bibliothèque dans l’ensemble de la
ALMEIDA SILVA LUCAS D.
29/06/26
5 / 5

L’oral est parfois beaucoup + riche que le support, certains sujets sont abordés très rapidement (UML...) mais on ne peut pas tout détailler en 5 joursPrésence et réponses du formateurs très bien
CEDRIC D.
29/06/26
5 / 5

Très bien



Dates and locations

Last places available
Guaranteed date, in person or remotely
Guaranteed session
From 7 to 11 September 2026
FR
Remote class
Registration
From 16 to 20 November 2026
FR
Remote class
Registration

REMOTE CLASS
2026 : 7 Sep., 16 Nov.