Back to top

Really apply OOP and design patterns

Duration: 3 days | Price: € 799,00

Prerequisites

  • Basic knowledge of OOP (inheritance, polymorphism, encapsulation)
  • Good knowledge of Delphi or PHP or C# or JAVA (to be communicated at the time of registration)
  • A PC for each participant with a version of Delphi higher than 7, or a PHP interpreter, or a development environment for Java 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 a participant

In this course appreciated by dozens of programmers in recent years, are addressed the most obvious flaws of the “classic” design and its solutions offered by SOLID principles and design patterns. The course includes numerous examples and exercises.


Contents

Introduction

  • What makes a system expensive to run?
  • Have you ever said “we’d sooner rewrite it than waste all this time”?
  • Symptoms of a “rotten” design
    • Rigidity
    • Fragility
    • Immobility
    • Viscosity
  • Limiting dependencies
    • Real Dependencies
    • Artificial Dependencies
  • Techniques to avoid jettisoning the work of the next few years
    • The existing system: how to save what can be saved!
  • Techniques and principles to reuse what has been done so far without repeating the same mistakes

SOLID principles

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

GoF design patterns, the most used ones.

  • 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
    • Collaboration between patterns
    • Consequences
    • Implementations
  • Creational
    • 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
      • Code driven
      • Transition table driven

Design Pattern Enterprise

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

Conclusions

  • “Principles are always valid, laws are to be contextualized” a.k.a. “How and when to apply one pattern or the other”

Request information