Ha spiegato classi, sottoclassi - facendo particolare attenzione a come questi vengono visualizzati usando i diagrammi UML

Design Pattern: Template Method

Intento: definisce lo scheletro di un algoritmo in un’operazione e rinvia la definizione di alcuni passi nelle sottoclassi. Il Template Method lascia che le sottoclassi ridefiniscano alcuni passi di un algoritmo senza cambiare la struttura dell’algoritmo Motivazioni: Alcune volte si ha bisogno di classi che definiscono i passi necessari per un algoritmo, ma non i dettagli di tali passi Esempio: a classe Application definisce l’algoritmo per aprire e leggere un documento in openDocument() che è il template method. Tale algoritmo è definito tramite operazioni astratte che le sottoclassi implementano (override) - in pratica la classe principale fa semplicemente da chiamate dei metodi che si trovano nelle sottoclassi

In questo design definiamo due classi:

  • AbstractClass: la classe padre che implementa le chiamate alla classe primitiva
  • ConcreteClass: implementa le operazioni primitive per svolgere i passi specifici dell’algoritmo Conseguenze: questo design pattern ci permette di creare del codice riutilizzabile, utilizzabile anche da diverse AbstractClass

in entrambi i tipi di class è importante specificare come funziona e che tipo di classe sono tramite i commenti.

INFO

Ha fatto degli esempi usando il codice - che si trova nel sito