Course : Design Patterns, implementation

Practical course - 5d - 35h00 - Ref. DES
Price : 2930 € 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
Disponible en anglais, à la demande

Ref. DES
  5d - 35h00
2930 € 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,2 / 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.
KEVIN T.
07/09/26
5 / 5

Fabien was a very good teacher throughout the training week. His cheerful nature and constant interaction with the students made the course even more enjoyable.I particularly enjoyed the various exercises we had to do to put the concepts we’d just learnt into practice. I would have liked a few more, but that’s understandably difficult given the number of topics we had to cover.
JEAN-MICHEL T.
07/09/26
5 / 5

An interactive course despite the distance – well done to the facilitator. Excellent grasp of the concepts and languages.
MAXIME J.
07/09/26
5 / 5

All clear




This programme is an original creation, developed by the teaching teams at ORSYS Formation. Any reproduction, representation, adaptation or use, in whole or in part, without the prior written authorisation of ORSYS, is strictly prohibited. ORSYS reserves the right to take any action necessary to protect its intellectual property rights.


This programme is an original creation, developed by the teaching teams at ORSYS Formation. Any reproduction, representation, adaptation or use, in whole or in part, without the prior written authorisation of ORSYS, is strictly prohibited. ORSYS reserves the right to take any action necessary to protect its intellectual property rights.