Di: Sergio Palumbo

Tempo di lettura stimato: 2 minuti

UML (Unified Modeling Language) è una famiglia di notazioni grafiche per descrivere, analizzare e progettare i sistemi software. I Design Pattern, invece, sono delle soluizioni comprovate a problemi ricorrenti di progettazione di software. Questo libro ci guida alla scoperta sia di UML sia dei Design Pattern.

Esistono numerosi libri relativi ad UML ed ai design pattern, ma nessuno è così chiaro e semplice come questo di Massimiliano Bigatti: tramite l’utilizzo di due esempi (un visualizzatore di file ed un’implementazione del gioco del Sudoku), Bigatti ci presenta i Design Pattern mostrandoci come essi effettivamente siano di grande ausilio nella progettazione del software e come, spesso, li abbiamo utilizzati senza saperlo.

A differenza di tanti testi al riguardo, questo di Bigatti ha la grande dote di essere particolarmente pratico: tra codice Java e commenti molto chiari dell’autore, che introduce i Pattern man mano che servono per creare le applicazioni di esempio, il lettore imparerà a capire quando conviene utilizzare un Pattern e a scegliere quello più appropriato per risolvere i singoli problemi, ma non solo: imparerà anche a descrivere in modo di più o meno alto livello i risultati delle attività di analisi o di progettazione, tramite l’utilizzo delle notazioni UML.

I Pattern trattati sono: di base (Delegate), creazionali (Singleton, Abstract Factory, Factory Method, Lazy Load, Builder, Prototype, Dynamic Linkage), strutturali (Model-View-Controller, Flyweight, Composite, Cache Management, Object Pool, Special Case, Null Object, Facade), comportamentali (Observer, Template Method, State, Command, Strategy, Data Access Object, Memento).

La lettura del libro è particolarmente illuminante e consente di far proprie tante “best practice” della progettazione e della programmazione ad oggetti. Inoltre, le appendici sono dedicate alle restanti notazioni UML che non hanno trovato posto nei capitoli del libro e un elenco di pattern, incompleto ma decisamente significativo: Design Patterns, Patterns in Java, Patterns of Enterprise Application Architecture, Core J2EE Patterns, Enterprise Integration Patterns, Web Services Integration Patterns. Tale elenco, suddiviso per tipologia di problema risolto, è un ottimo punto di ingresso per cercare su Internet la documentazione necessaria per l’adozione di uno specifico pattern.

In definitiva, questo volume è davvero un’ottima guida per chi si affaccia nel mondo della progettazione (ma anche della programmazione) di software “object oriented”, con particolare riferimento a Java. Inoltre, grazie alla sua praticità, è un validissimo supporto per il lavoro dei professionisti del mestiere, che potranno proficuamente adottarlo come guida di riferimento.

Link: il sito di Hoepli Editore – www.hoepli.it