Corso di formazione sulla Programmazione con Design Pattern

Il corso insegna a guardare il codice con un occhio diverso, orientato alla sua flessibilità, grazie ad una prospettiva di alto livello con cui ragionare “a blocchi”.

OBIETTIVI DEL CORSO

Il corso insegna a programmare con Design Pattern: guardare il codice con un occhio diverso, orientato alla sua flessibilità, grazie ad una prospettiva di alto livello con cui ragionare “a blocchi”.

APPROCCIO DIDATTICO

I Design Pattern sono “schemi di soluzione” per problemi ricorrenti, e verranno presentati per mezzo di esempi, risolti prima con l’approccio classico e poi con uno o più pattern. Nel fare questo passaggio si imparerà a valutare pro e contro delle varie soluzioni così da acquisire un senso critico del codice.

I pattern saranno anche l’occasione per presentare i principi SOLID di progettazione di software Object Oriented e si vedrà anche quali differenze ci possono essere nell’implementazione dei pattern in un linguaggio fortemente tipizzato (ad esempio C#) o no (ad esempio Javascript).

PROGRAMMA DEL CORSO

1.Principi di progettazione SOLID
-SRP: Single Responsibility Principle
-OCP: Open Closed Principle
-LSP: Liskov Substitution Principle
-ISP: Interface Segregation Principle
-DIP: Dependency Inversion Principle
2.Design Pattern
-Cosa sono e cosa non sono
-Un po’ di storia
-I pattern GoF
-Pattern architetturali
3.State Pattern
4.Strategy Pattern
5.Template Method
6.Visitor Pattern
7.Observer Pattern
8.Command Pattern
9.Factory Method e Abstract Factory
10.Singleton Pattern
11.Prototype Pattern
12.Flyweight Pattern
13.Decorator Pattern
14.Facade Pattern
15.Adapter e Bridge Pattern
16.Proxy Pattern
17.Composite Pattern
18.Cenni ad altri pattern

Design Pattern
15 Ott 2018
09:00
Senior Software Architect

Il corso ha una durata di 3 giorni.
PREREQUISITI
È richiesta la conoscenza dei concetti base della programmazione orientata agli oggetti (concetti di classe, ereditarietà) in un qualsiasi linguaggio di programmazione.
Il corso sarà erogato in uno dei seguenti linguaggi: C#, TypeScript o Javascript.

AGENDA

    1.Principi di progettazione SOLID
    2.Design Pattern
    3.State Pattern
    4.Strategy Pattern
    5.Template Method
    6.Visitor Pattern
    7.Observer Pattern
    8.Command Pattern
    9.Factory Method e Abstract Factory
    10.Singleton Pattern