Back to top

Apply OOP and design patterns

Duration: 3 days | Price: € 900,00


  • Basic knowledge of OOP (inheritance, polymorphism, encapsulation)
  • Good knowledge of Delphi or PHP or JAVA (communicate at the time of registration)
  • A PC for each participant with a Delphi version higher than 7 installed, or a PHP interpreter, or a development environment for Java 1.5 or higher


“This Course changes your life“ - cit. a participant In this course appreciated by dozens of programmers over the past years, the most evident flaws of the “classic” design and the relative solutions offered by the SOLID principles and design patterns are addressed. The course includes numerous examples and exercises.



  • What makes a system expensive to run?
  • Have you ever said “we would rather rewrite it first rather than waste all this time“?
  • Symptoms of a “rotted” design
    • Stiffness
    • Fragility
    • Immobility
    • Viscosity
  • Limit dependencies
    • Real addictions
    • Artificial addictions
  • The techniques to avoid throwing away the work (of the next) years
    • The existing system: how to save what can be saved!

The SOLID principles

  • Single responsibility
  • Open-closed
  • Liskov substitution
  • Interface segregation
  • Dependency inversion

GoF Design Pattern, the most used

  • Why design patterns?
    • Who needed it?
    • Why did they revolutionize the world of software development?
  • For each pattern the following points will be discussed:
    • Purpose
    • Motivation
    • Applicability
    • Collaborations between patterns
    • Consequences
    • Implementations
  • Create them
    • Abstract Factory
    • Builder
    • Factory Method
    • Singleton
  • Structural
    • Adapter
    • Composite
    • Adapter
    • Proxy (protection, remote, virtual)
  • Behavioral
    • Chain of responsibility
    • Command
    • Mediator
    • Observer
    • Strategy
    • Template method
    • State
      • Guided by code
      • Driven by transition table

Design Pattern Enterprise

  • Basic pattern
  • Pattern for the domain logic
    • Transaction Script
    • Table Module
    • Domain Model
  • Pattern for database access
    • Table Data Gateway
    • Row Data Gateway
    • Active Record
    • Data Mapper

Request informations