Bit a bit, si cresce sempre


Blog di un ingeformatico

Statistiche
  • Views Home Page: 395.700
  • Views Posts: 1.330.007
  • Views Gallerie: 526.052
  • n° Posts: 520
  • n° Commenti: 292
Ora e Data
Archivio Posts
Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005

Recensione libro C# Design Pattern Essentials (Ability First)

Nel 2012, diciassette anni dopo la pubblicazione del fondamentale libro sui design pattern (“Design Patterns: Elements of Reusable Object-Oriented Software” di Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides edito da Addison-Wesley), Tony Bevis, creatore del sito AbilityFirst.co.uk ha dato alle stampe queste 250 pagine che hanno lo scopo di offrire un’esposizione molto sintetica e pratica dei 23 pattern pubblicati dalla cosiddetta “Gang of 4” nel 1995. 
Il tutto utilizzando un linguaggio più moderno – C# - alcune basi di UML e basandosi su di un esempio pratico molto comune, una fabbrica di automobili, la cui sommaria descrizione occupa le prime pagine del libro. 
Questo sintetico libro è in realtà la versione C# dell’analogo titolo scritto dallo stesso autore qualche anno prima utilizzando Java come linguaggio base. Il logo della Ability First, come si vede qua sotto, fa capire chiaramente che il loro “core business” è il mondo Java e PHP. 

L’idea base dell’autore è molto semplice: far capire come funzionano e a cosa servono i 23 pattern fondamentali per lo sviluppo del software, utilizzando delle spiegazioni tanto sintetiche quanto spartane, ma lasciando molto spazio sia ai diagrammi UML, sia agli esempi di codice. 
Nelle due foto qua sotto ci si può fare un’idea del layout di questo libro. 



Come forse si potrà notare, non sempre il codice è indentato in maniera perfetta, e questo è (direi) l’unico piccolo difetto di questo pur ottimo libro. 
Attenzione però: per comprendere bene l’esposizione il lettore deve possedere delle solide basi di programmazione ad oggetti, soprattutto ereditarietà e polimorfismo, utilizzati estensivamente in tutte le pagine. L’inglese, in compenso, è estremamente semplice, aiutato anche dal fatto di essere ridotto all’essenziale. 
L’autore non si limita ai 23 pattern fondamentali, ma descrive (sempre in maniera molto sintetica) altri 4 “simil-pattern” scaturiti (o rinati) negli ultimi anni, quali MVC, Null Object, Layers e Simple Factory. 
Seguono poi poche pagine per spiegare le fondamenta di UML (giusto per comprendere i grafici esposti), ed un rapido riassunto (una pagina per pattern) dei pattern fondamentali, con tanto di pregi, difetti e casi in cui è meglio usarli (qua sotto un’immagine di queste pagine). 


È un libro che può essere letto sequenzialmente (per chi voglia impararli tutti) o, più probabilmente, utilizzarlo come reference quando si abbia necessità di apprendere un pattern specifico. 
Consiglierei solo, per questo secondo caso, di familiarizzare per bene con l’esempio base sulla fabbrica di automobili, il cui diagramma UML è raffigurato qua sotto. 


Per scaricarsi il codice sorgente del libro l’autore richiede il previo inserimento di una precisa parola presente in una certa pagina del libro; meglio quindi avere sottomano il libro al momento di scaricarsi il file. 
Lo spessore del libro è piuttosto ridotto, la copertina è sottile (e abbastanza delicata), mentre la rilegatura è quanto mai scomoda a causa della sua eccessiva rigidezza. 


Io ho utilizzato questo libro per chiarirmi i concetti su di un paio di pattern (Singleton, Facade e Factory), e devo dire che mi è stato molto di aiuto. Se avessi dovuto rivolgermi alla sopracitata Bibbia dei design pattern (previa richiesta in biblioteca, dato che non lo possiedo più), non so se ci avrei messo lo stesso tempo per padroneggiarli il minimo indispensabile. 
È un libro che trova la sua collocazione nella parte bassa della biblioteca, pronto per essere tirato fuori con rapidità al momento opportuno. 

Su Amazon Italia costa attualmente poco più di 22 euro, un prezzo tutto sommato molto abbordabile. 


Table of contents
Preface

Part I: Introduction
15 – Cap. 1. What are Design Patterns?

Part II: Creational Patterns
29 – Cap. 2. Abstract Factory
37 – Cap. 3. Builder
43 – Cap. 4. Factory Method
49 – Cap. 5. Prototype
55 – Cap. 6. Singleton

Part III: Structural Patterns
59 – Cap. 7. Adapter
65 – Cap. 8. Bridge
71 – Cap. 9. Composite
77 – Cap. 10. Decorator
85 – Cap. 11. Facade
89 – Cap. 12. Flyweight
95 – Cap. 13. Proxy

Part IV: Behavioural Patterns
101 – Cap. 14. Chain of Responsibility
107 – Cap. 15. Command
117 – Cap. 16. Interpreter
127 – Cap. 17. Iterator
131 – Cap. 18. Mediator
141 – Cap. 19. Memento
147 – Cap. 20. Observer
151 – Cap. 21. State
163 – Cap. 22. Strategy
167 – Cap. 23. Template Method
171 – Cap. 24. Visitor

Part V: Other Useful Patterns
181 – Cap. 25. Null Object
185 – Cap. 26. Simple Factory
189 – Cap. 27. Model View Controller
197 – Cap. 28. Layers

Part VI: Design Patterns in Practice
202 – Cap. 29. Sample 3-Tier Application

Part VII: Appendixes
223 – App. A: UML Diagrams
227 – App. B: Quick Reference
253 – App. C: Bibliography
255 – Index 

Categoria: Books
lunedì, 17 mar 2014 Ore. 10.30

Messaggi collegati


Mappa
Calendario
ottobre 2017
lmmgvsd
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003