ANALYSIS & DESIGN I DESIGN PATTERNS GoF 1
I Design Patterns GoF …un momento importante durante il corso del design!
I Design Patterns GoF UNIFIED PROCESS – DESIGN PATTERNS 3 Scopo Raggio dazione
Design Patterns: Singleton Il Singleton è un design pattern creazionale che ha lo scopo di garantire che di una determinata classe venga creata una e una sola istanza, e di fornire un punto di accesso globale a tale istanza. 4 Costruttore privato metodo "getter" statico che restituisce una istanza della classe DA NON CONFONDERE!!! UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: Singleton 5 UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: Mediator pattern comportamentale basato su oggetti, ossia operante nel contesto delle interazioni tra oggetti, che ha l'intento di disaccoppiare entità del sistema che devono comunicare fra loro. Il pattern fa in modo che queste entità non si riferiscano reciprocamente, agendo da "mediatore" fra le parti. 6
Design Patterns: Mediator sul Client 7 UNIFIED PROCESS – DESIGN PATTERNS Low coupling Indirection
Design Patterns: State pattern comportamentale basato su oggetti che viene utilizzato quando il comportamento di un oggetto deve cambiare in base al suo stato. Questo pattern trova applicazione quando abbiamo a che fare con una Macchina a Stati Finiti ossia siamo in presenza di un sistema dinamico in cui i valori di ingresso, uscita e stato sono un insieme finito. 8 UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: Adapter pattern strutturale basato su classi o su oggetti in quanto è possibile ottenere entrambe le rappresentazioni. Viene utilizzato quando si intende utilizzare un componente software ma occorre adattare la sua interfaccia per motivi di integrazione con lapplicazione esistente. 9 UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: State+Adapter sul Client 10 UNIFIED PROCESS – DESIGN PATTERNS Protected variations Indirection Low Coupling
Design Patterns: Adapter (DTO) sul Server
Design Patterns: Facade pattern strutturale basato su oggetti che viene utilizzato per nascondere la complessità del sistema e ridurre la comunicazione e la dipendenza del Client. Lutilizzo di questo pattern prevede di esporre una interfaccia per linvocazione di un Sistema tale da semplificare linvocazione ad opera del Client. 12 UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: Terminale come ControllerFacade visibile al Client 13 UNIFIED PROCESS – DESIGN PATTERNS Controller Facade Protected Variations
Design Patterns: Strategy pattern comportamentale basato su oggetti utilizzato per definire una famiglia di algoritmi, incapsularli e renderli intercambiabili. Il client definisce lalgoritmo da utilizzare, incapsulandolo in un contesto, il quale verrà utilizzato nella fase di elaborazione. Il contesto detiene i puntamenti alle informazioni necessarie al fine della elaborazione, cioè dati e funzione: solita equazione y=f(x)! 14 UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: Strategy (sulla ricercaFilm) - Server 15 UNIFIED PROCESS – DESIGN PATTERNS Polymorphism Protected Variations
Design Patterns: Strategy sulle prenotazioni - Server 16 UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: Composite pattern strutturale basato su oggetti che viene utilizzato quando si ha la necessità di realizzare una gerarchia di oggetti in cui loggetto contenitore può detenere oggetti elementari e/o oggetti contenitori. Lobiettivo è di permettere al Client che deve navigare la gerarchia, di comportarsi sempre nello stesso modo sia verso gli oggetti elementari e sia verso gli oggetti contenitori. 17 UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: Strategy+Composite per i prezzi- Server 18 UNIFIED PROCESS – DESIGN PATTERNS