Design Patterns in Javascript

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. Javascript Design Patterns
    • Constructor Pattern
    • Module Pattern
    • Revealing Module Pattern
  4. State Pattern
  5. Strategy Pattern
  6. Template Method
  7. Visitor Pattern
  8. Observer Pattern
  9. Command Pattern
  10. Factory Method e Abstract Factory
  11. Singleton Pattern
  12. Prototype Pattern
  13. Flyweight Pattern
  14. Decorator Pattern
  15. Facade Pattern
  16. Adapter e Bridge Pattern
  17. Proxy Pattern
  18. Composite Pattern
  19. Cenni ad altri pattern