Are you a C# or Visual Basic programmer looking for guidance on Design Patterns now that Redmond has officially adopted OO methods bigtime with its Software Factories ? Are you an embedded programmer looking to make the transition from C to C++ or Java and need insight into OO Design and Analysis ? Are you one of those, like me, who felt Design Patterns by Gamma and Gang could have used some extra examples and alternative trade-off considerations or analysis of different approaches ? Or have you ever wondered what an OReilly book would look like if it took an impish tone like the several great Orfali, Harkey and Edwards Distributed Architecture Survival Guides of the 1990s ?(by the way, hold on to C/S Survival Guide 3rd Edition – they are coming back into vogue as Web Services are found wanting in some security, performance and reliability applications and good old CORBA and C/S designs hold sway ) Well trot on over to Amazon and pickup up a copy of Head First Design Patterns from OReilly Press by Eric Freeman and Elisabeth Freeman.
This book is alternately funny, entertaining, insightful, and plain loaded with gawky and retro examples of what and how Design Patterns work. You will be amused. You will intrigued. But most important you will be enlightened about the latest (copyright 2004) thinking in Object Design, specifically using Design Patterns.You can use this book alone or in combination with any of the following excellent tomes:
Design Patterns by Gamma et alia – the original and still stands the test of time;
Java Design 2nd Edition by Coad et alia – the first and one of the best of Java Design books
Beginning Java Objects by Jacquie Barker – a good intro into Java and Object Design
Java Design : Objects, UML, and Process by Knoernschild – another excellent Design resource
So if you are boning up on Object Design, go to your library and find one or more of these texts and then use them as references from time to time as you dive Head First [into] Design Patterns.
Now C++ and C# users may complain that most of these books and Head First Design Patterns are permeated with Java examples. Take that as a hint. There is a reason – Java was first to market with an Enterprise calibre programming language and has been well served by the design community with a)excellent books explaining Java plus software design principles and b) software demonstrating how those Design Principles can be applied. Look at recent offering in the Portal, BAM -Business Activity Monitoring, BPM-Business Process Management, and EAI-Enterprise Application Integration arenas as some stellar examples.
Finally who would have guessed that a book that professed a goal of delivering:
“Wouldnt it be dreamy if there was a Design Patterns book that was more fun than going to the dentist, and more revealing than an IRS Form ? Its probably just a fantasy … “
would more than match their mark ?