analysis & design i design patterns gof 1. i design patterns gof …un momento importante...
TRANSCRIPT
ANALYSIS & DESIGNI DESIGN PATTERNS GoF
1
I Design Patterns GoF
…un momento importante durante il corso del design!
I Design Patterns GoFUNIFIED PROCESS – DESIGN PATTERNS3
Scopo
Raggio d’azione
Design Patterns: SingletonIl 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: Singleton5 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 Client7 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 l’applicazione esistente.
9 UNIFIED PROCESS – DESIGN PATTERNS
Design Patterns: State+Adapter sul Client10 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.
• L’utilizzo di questo pattern prevede di esporre una interfaccia per l’invocazione di un Sistema tale da semplificare l’invocazione 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: Strategypattern comportamentale basato su oggetti utilizzato per definire una famiglia di algoritmi, incapsularli e renderli intercambiabili.
Il client definisce l’algoritmo 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: Compositepattern strutturale basato su oggetti che viene utilizzato quando si ha la necessità di realizzare una gerarchia di oggetti in cui l’oggetto contenitore può detenere oggetti elementari e/o oggetti contenitori.
L’obiettivo è 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