Object oriented programming and design patterns in practice

Duration: 3 days | Price: 900 €


Requirements:

  • Conoscenza basilare di OOP (ereditarietà, polimorfismo, incapsulamento)
  • Buona conoscenze di Delphi o PHP o JAVA (comunicare al momento dell‘iscrizione)
  • Un PC per ogni partecipante con installato una versione di Delphi superiore alla 7, oppure un interprete PHP, oppure una ambiente di sviluppo per Java 1.5 o superiore


Description:

“ This course will change your life “ - cit. un partecipante
In this course appreciated by many developers in the previous years, are faced the worst “classic“ design flaws and the relative solution offerend by the SOLID principles and design pattern. This course will have numerous examples and exercises.


Contents:

Introduction
  • What makes a system expansive to manage
  • Have you ever said “It's better to rewrite everything instead of losing all this time“?
  • symptoms of “rotted“ design
    • Rigidity
    • Fragility
    • Stagnation
    • Viscosity
  • Limiting the dependency
    • Real dependency
    • Artificial depedency
  • Techniques to avoid throwing away all the work of the next years
    • The existing system: how to save the savable!
SOLID principles
  • Single responsibility
  • Open-closed
  • Liskov substitution
  • Interface segregation
  • Dependency inversion
Design Pattern GoF, most used
  • Why design pattern?
    • Who was in need?
    • Why design patterns have revolutionise the world of software developing?
  • For every pattern will be discussed the following:
    • Aim
    • Reasons
    • feasibility
    • Collaborations between pattern
    • Consequence
    • Implementations
  • Creational
    • Abstract Factory
    • Builder
    • Factory Method
    • Singleton
  • Structural
    • Adapter
    • Composite
    • Adapter
    • Proxy (protection, remote, virtual)
  • Behaviours
    • Chain of responsibility
    • Command
    • Mediator
    • Observer
    • Strategy
    • Template method
    • State
      • Guide by code
      • Guided by table of transitions
Design Pattern Enterprise
  • Base Pattern
  • Domain logic Pattern
    • Transaction Script
    • Table Module
    • Domain Model
  • Database access Pattern
    • Table Data Gateway
    • Row Data Gateway
    • Active Record
    • Data Mapper