Design Patterns in C#/Vb.Net
Obiettivi
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”.
I Design Patterns 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 non (ad esempio Javascript).
Programma:
- Principi di progettazione SOLID
- SRP: Single Responsibility Principle
- OCP: Open Closed Principle
- LSP: Liskov Substitution Principle
- ISP: Interface Segregation Principle
- DIP: Dependency Inversion Principle
- Design Patterns
- Cosa sono e cosa non sono
- Un pó di storia
- I pattern GoF
- Pattern architetturali
- State Pattern
- Strategy Pattern
- Template Method
- Visitor Pattern
- Observer Pattern
- Command Pattern
- Factory Method e Abstract Factory
- Singleton Pattern
- Prototype Pattern
- Flyweight Pattern
- Decorator Pattern
- Facade Pattern
- Adapter e Bridge Pattern
- Proxy Pattern
- Composite Pattern
- Cenni ad altri pattern