Strutture dati complesse e modelli di progettazione (PHP)
Si inizia con un'introduzione alle strutture dati complesse. I partecipanti impareranno a utilizzare e implementare strutture di dati avanzate come mappe, insiemi, pile, code e grafi. Queste strutture di dati offrono possibilità avanzate di gestione e manipolazione dei dati che vanno oltre i semplici array e oggetti.
Una parte essenziale del corso è l'uso e l'implementazione dei design pattern. I partecipanti impareranno cosa sono i design pattern e come possono risolvere i problemi più comuni nello sviluppo del software. I design pattern trattati includono
- Singleton Pattern: assicura che una classe abbia una sola istanza e fornisce un punto di accesso globale a questa istanza.
- Observer Pattern: definisce una dipendenza uno-a-molti tra gli oggetti, in modo che quando un oggetto cambia stato, tutti gli oggetti dipendenti vengono notificati e aggiornati automaticamente.
- Pattern Factory: Fornisce un'interfaccia per la creazione di oggetti in cui non è necessario specificare le classi specifiche.
- Pattern Decorator: consente di aggiungere dinamicamente comportamenti agli oggetti, avvolgendoli in classi decorative.
Inoltre, pone l'accento sulle migliori pratiche per un codice pulito e manutenibile. I partecipanti apprenderanno le tecniche per strutturare e organizzare il codice in modo da renderlo più leggibile e facile da mantenere. Queste includono principi come DRY (Don't Repeat Yourself), KISS (Keep It Simple, Stupid) e SOLID (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion).
Esercizi pratici ed esempi permetteranno ai partecipanti di applicare strutture dati complesse e design pattern nei propri progetti e di scrivere codice di alta qualità.