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