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:

  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 Patterns
    • Cosa sono e cosa non sono
    • Un pó 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