Pattern architetturali con esempi pratici

Caratteristiche, quali sono e esempio di Pattern architetturali

Dopo aver visto la teoria alla base dei pattern architetturali, analizziamo in questo articolo in dettaglio alcuni di essi.

Caratteristiche, quali sono e esempio di Pattern architetturali

LAYERS

Il pattern architetturale layers è essenzialemente il modello che separa le funzionalità dei singoli componenti. Ogni livello fornisce funzionalità a livelli superiori, ma i livelli superiori sono trasparenti pertanto funziona come una macchina virtuale. Posso modificare un livello senza modificare gli altri.

DOMAIN MODEL

Il domanio model è un modello concettuale. La prima fase che si realizza è l’analisi del modello di dominio. Questo appatern lavora nell’ottica della modularità per il sistema.

DOMAIN OBJECT

Il pattern domain object permette di strutturare un modello di dominio in componenti più specifiche.

MODEL VIEW CONTROL (MVC)

Il model view control (MVC) è uno dei pattern architetturali più importanti ed utilizzati nei contesti pratici dell’ingegneria del software. Questo pattern separa l’interfaccia dall’applicazione. Ci permette di rappresentare il contenuto del Client, del Server, e dell’application Server . Quindi rappresenta delle Classi di interfaccia, delle classi di controllo che elaborano la logica di business delle applicazioni, e delle classi entity, che si definiscono nella prima fase di analisi e restano il nucleo di modellazione dei dati.

Il controllore conterrà dei package delle classi di controllo, il modello sarà costituito dalle classi individuate in fase di analisi, in vista ci saranno le classi che si occuperanno dell’interfaccia. Si veda l’immagine seguente per capire meglio il funzionamento del pattern in questione.

Pattern architetturali - MODEL VIEW CONTROL (MVC)
Pattern architetturali – MODEL VIEW CONTROL (MVC)

PIPE AND FILTER

Questo pattern è generalmente utilizzato nel contesto dei sistemi operativi, nei sistemi real-time e in particolare per sistemi che devono elaborare flussi di dati. L’elaborazione viene scomposta in passi di decomposizione e ogni passo viene incapsulato in un filtro, un oggetto software, i dati poi sono trasferiti in filtri adiacenti detti Pipe, che sono immaginabili come tubi, dei canali virtuali dove passano flussi di dati. E’ possibile mettere in relazione famiglie di dati correlati, collegando in maniera adeguata i filtri e i Pipe, creando cosi delle PipeLine.

SHARED REPOSITOR

Il pattern shared repositor è utilizzato spesso per applicazioni a intensa elaborazione dati, in cui ci sono interazioni tra i componenti che non siano guidate da specifici processi, che però possono essere coordinate in base a un set di dati condivisi, un repository. Ho un repository e tutti i processi che lavorano su quel repository.Il repository è condiviso, ed è come se fosse a partire dal repository che avviene il coordinamento dei vari componenti e dei vari processi di elaborazione. L’accesso ai dati deve essere sincronizzato.

DATABASE ACCESS LAYER (DAL)

Il pattern database access layer (DAL) è molto utilizzato nei contesti pratici per la realizzazione dei sistemi software e serve essenzialmente per separare la logica dell’applicazione dal modello dei dati. Si ha uno strato di interfaccia tra il sistema e il database management system. Questo strato si occupa delle transazioni di Query.

Pattern architetturali - DATABASE ACCESS LAYER (DAL)
Pattern architetturali – DATABASE ACCESS LAYER (DAL)

BLACKBOARD E REFLECTION

Sono due pattern che permettono la modifica dei requisiti a run time. Il blackboard è utilizzato in sistemi di intelligenza artificiale, per creare una sorta di “Lavagna” comune su cui tutte l applicazioni possono comunicare.

Il reflection consente i cambiare la struttura di un sistema in modo dinamico, strutture dati meccanismi di comunicazione, dividendo l’architettura in due livelli, ossia da una parte i Metadati e poi un livello base che contiene la logica applicativa stessa del meta livello.

BROKER

Il pattern architetturale Broker è il pattern principale per la comunicazione nei sistemi distribuiti. Serve per strutturare sistemi distribuiti con componenti disaccoppiate che devono interagire. Esso rende possibile l’invocazione di servizi remoti tra i vari componenti, coordina la comunicazione, gestisce le richieste e le risposte tra i vari componenti di un sistema distribuito e pertanto è particolarmente utilizzato.

MICROKERNEL

Il microkernel consente di sviluppare un insieme di applicazione che siano l’una la variazione dell’altra. Il nucleo centrale è sempre lo stesso però possono variare dinamicamente a seconda dei requisiti dell’utente o in base al contesto di utilizzo di funzionamento di quell’applicazione. Si possono differenziare per l’interfaccia utente a seconda ad esempio del Profilo utente esistente.

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *