Apply real Object-Oriented Programming (OOP) and Design Patterns

Duration: 3 days | Price: € 799.00 VAT excluded

Next course February 16-17-19, 2026

Prerequisites
  • Basic knowledge of OOP (inheritance, polymorphism, encapsulation)

  • Good knowledge of Delphi, PHP, C#, or JAVA (to be communicated at the time of registration)

  • A PC for each participant with Delphi version 7 or higher installed, or a PHP interpreter, or a Java development environment 1.5 or higher, or a recent version of the .NET Framework (or .NET Core) with the C# compiler.

Description

This Course will change your life” – quote from a participant

In this course, appreciated by dozens of programmers in previous years, we address the most evident flaws of “classic” design and the corresponding solutions offered by SOLID principles and design patterns. The course includes numerous examples and exercises.

Contents
  • Introduction

    • What makes a system costly to manage?

    • Have you ever said, “We’d be better off rewriting it rather than wasting all this time”?

    • Symptoms of a “rotting” design

      • Rigidity

      • Fragility

      • Immobility

      • Viscosity

    • Limiting dependencies

      • Real dependencies

      • Artificial dependencies

    • Techniques to avoid throwing away the work of the coming years

    • The existing system: how to save what’s salvageable!

    • Techniques and principles to reuse what has been done so far without falling into the same mistakes

  • SOLID Principles

    • Single responsibility

    • Open-closed

    • Liskov substitution

    • Interface segregation

    • Dependency inversion

  • GoF Design Patterns, the most used

    • Why design patterns?

    • Who needed them?

    • Why did they revolutionize the world of software development?

    • For each pattern, the following points will be discussed:

      • Purpose

      • Motivation

      • Applicability

      • Pattern collaborations

      • Consequences

      • Implementations

    • Creational

      • Abstract Factory

      • Builder

      • Factory Method

      • Singleton

    • Structural

      • Adapter

      • Composite

      • Proxy (protection, remote, virtual)

    • Behavioral

      • Chain of responsibility

      • Command

      • Mediator

      • Observer

      • Strategy

      • Template method

Scroll to Top