Head First Design Patterns | WickedlySmart

Head First Design Patterns

by Eric Freeman and Elisabeth Robson

You’re not alone.

At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don’t want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns–the lessons learned by those who’ve faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on…something else. Something more challenging. Something more complex. Something more fun.

With Head First Design Patterns, you’ll avoid the embarrassment of thinking Decorator is something from the “Trading Spaces” show. Best of all, in a way that won’t put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts.

If you’ve read a Head First book, you know what to expect–a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.

You’ll learn:

  • Fourteen core design patterns
  • Nine fundamental design principles
  • The difference between a pattern and a principle
  • How using design patterns can make your team more effective

What’s so special about this book?

We think your time is too valuable to waste struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Design Patterns uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.

Head First Design Patterns

Updated in 2014 for Java 8


All the code for Head First Design Patterns is conveniently hosted at Github and freely available. If you’ve never used Github before, it’s a good time to start. And if you have… well, then you know where you are. In either case, just visit the Github link to get to the code. Once you’re there, simply click on the Download ZIP button to the right of the repository file listing, and you’ll get a zip file containing all the code for the book.

Don’t Miss Out on Book Updates: Become an Insider for FREE

Stay up to date on news, new exercises, interesting discussion and additional learning resources.

Sign up free and unsubscribe at any time. You’ll only receive email from the WickedlySmart team.


We have lots of extra goodies to get you going with Head First Design Patterns, including some files we reference in the book, and code available in C# and C++:

  • Download the original Java code here (zip file). The source files are in the src directory and the class files are in the bin directory. (These files are from 2004. For the most recent 2014 updates to the code, download from Github.)
  • Download the MVC song here.
  • Download README.txt. This has all the command line run commands for each application, as well as helpful comments.
  • Download the heatindex.txt file containing the heat index formula for the Weather Station in chapter 2.
  • Download the test.txt file for chapter 3
  • If you are using ant to compile the java files, you can download the build.xml file. (Make sure you name this file “build.xml” to use it with ant.)
  • Download the code examples in C# here (hosted and supported by Mark McFadden).
  • Download the code examples in C++ here (created and supported by Glenn Puchtel).
  • Buy the book.


Here are some extra resources to take your Design Patterns learning further:



Give your Brain a Treat!

Don't miss out on brain-friendly updates, new WickedlySmart Projects, early access to books and general cool stuff! Just give us your email and we'll send you something about once a week. Don't worry, we'll never sell your name and you can remove yourself at any time.

Check your email to confirm your subscription.

Pin It on Pinterest