Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Pattern
Marina Mongiello
Ingegneria del Software Definizione
• Pattern software
– la descrizione strutturata di una soluzione esemplare ad un
problema (software) ricorrente
Marina Mongiello
Ingegneria del Software Cluster
Marina Mongiello
Ingegneria del Software Categorie di pattern
Marina Mongiello
Ingegneria del Software Osservazioni
Marina Mongiello
Ingegneria del Software Pattern language
– "ogni pattern descrive un problema che si ripete più e più volte nel nostro ambiente,
descrive quindi il nocciolo della soluzione del problema, in modo tale che la soluzione possa
essere usata un milione di volte, senza che essa venga mai applicata nella stessa maniera".
• il concetto che sta alla base dei pattern è quello di fornire una soluzione ad un
problema in un determinato contesto.
• Nel caso della progettazione del software, questo significa individuare meccanismi e
tecniche che permettano di risolvere problematiche ricorrenti in modo elegante,
riusabile ed efficace.
Marina Mongiello
Ingegneria del Software Design pattern
Marina Mongiello
Ingegneria del Software Design pattern
Marina Mongiello
Ingegneria del Software Vantaggi nell’uso di pattern
Marina Mongiello
Ingegneria del Software Notazione
Marina Mongiello
Ingegneria del Software Pattern architetturali
Marina Mongiello
Ingegneria del Software Osservazioni
Marina Mongiello
Ingegneria del Software Pattern language
Marina Mongiello
Ingegneria del Software Layers
Marina Mongiello
Ingegneria del Software Domain model
Marina Mongiello
Ingegneria del Software Domain object
Marina Mongiello
Ingegneria del Software Model View Control (MVC)
Marina Mongiello
Ingegneria del Software Model view control
Marina Mongiello
Ingegneria del Software Pattern MVC
modifica notifica
controllore modello vista
Marina Mongiello
Ingegneria del Software Pipe and filter
• Fornisce una struttura per sistemi che devono elaborare flussi di dati
– l’elaborazione è decomposta in passi di elaborazione
– ciascun passo di elaborazione è incapsulato in un componente filtro
• i dati sono trasferiti tra filtri adiacenti mediante pipe (tubi)
• è possibile costruire famiglie di sistemi correlati mediante
un’opportuna combinazione di filtri e pipe – pipeline
Marina Mongiello
Ingegneria del Software Shared repository
Marina Mongiello
Ingegneria del Software Database access layer (DAL)
Marina Mongiello
Ingegneria del Software Pattern DAL
Marina Mongiello
Ingegneria del Software Blackboard
• Il pattern Blackboard
– è utile in problemi per cui non esistono strategie di risoluzione
deterministiche.
– prevede diversi sottosistemi specializzati che usano la loro
conoscenza per costruire insieme una soluzione parziale o
approssimata
• Esempio: Vision, Image Recognition, Speech Recognition
Marina Mongiello
Ingegneria del Software Broker
Marina Mongiello
Ingegneria del Software Microkernel
Marina Mongiello
Ingegneria del Software Reflection
Marina Mongiello