Head First Design Patterns

Front Cover
"O'Reilly Media, Inc.", Oct 25, 2004 - Computers - 638 pages
129 Reviews

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.

You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code.

You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern.

Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter.

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.

  

What people are saying - Write a review

User ratings

5 stars
78
4 stars
38
3 stars
10
2 stars
2
1 star
1

Easy to read and easy to follow examples. - Goodreads
Very good intro to Java design patterns - Goodreads
An amazing introduction to software design patterns. - Goodreads
As with all Head First books it is very easy to read. - Goodreads
This book is easy to read and good to understand. - Goodreads
Many illustrations, little cartoons, exercises... - Goodreads

Review: Head First Design Patterns (Head First Series)

User Review  - Sridhar Jammalamadaka - Goodreads

This was my first book on Design patterns. When I picked up this book, I knew nothing about Design Patterns. Thanks to this book, I know a thing or two about design patterns. For a beginner, there can ... Read full review

Review: Head First Design Patterns (Head First Series)

User Review  - Lamis - Goodreads

I have always wanted to learn Design Patterns, it was not an easy journey for me. I tried articles on the internet, I've tried video tutorials and it seemed almost impossible. When I saw this book , I ... Read full review

All 5 reviews »

Contents

Intro to Design Patterns
1
the Observer Pattern
37
the Decorator Pattern
79
the Factory Pattern
109
the Singleton Pattern
169
the Command Pattern
191
the Adapter and Facade Patterns
235
the Template Method Pattern
275
the Iterator and Composite Patterns
315
the State Pattern
385
the Proxy Pattern
429
Compound Patterns
499
Better Living with Patterns
577
Leftover Patterns
611
Index
631
Copyright

Common terms and phrases

References to this book

All Book Search results »

About the author (2004)

Eric Freeman is a computer scientist with a passion for media and software architectures and coauthor of Head First Design Patterns. He just wrapped up four years at a dream job-- directing internet broadband and wireless efforts at Disney--and is now back to writing, creating cool software, and hacking Java and Macs.Eric spent a lot of the '90s working on alternatives to the desktop metaphor with David Gelernter (and they're both still asking the question, "Why do I have to give a file a name?"). Based on this work, Eric landed a Ph.D. at Yale University in 1997. He also co-founded Mirror Worlds Technologies (now acquired) to create a commercial version of his thesis work, Lifestreams.

In a previous life, Eric built software for networks and supercomputers. You might know him from such books as JavaSpaces Principles Patterns and Practice. Eric has fond memories of implementing tuple-space systems on Thinking Machine CM-5s and creating some of the first internet information systems for NASA in the late 1980s.

When he's not writing text or code you'll find him spending more time tweaking than watching his home theater and trying to restore a circa 1980s Dragon's Lair video game. He also wouldn't mind moonlighting as an electronica DJ.

Write to him at eric at wickedlysmart dot com or visit him at http://www.ericfreeman.com .

Elisabeth Robson is coauthor of O'Reilly's Head First Design Patterns, Head First HTML and CSS, and Head First JavaScript Programming. She is currently co-founder and principal at WickedlySmart, an education content and technology company.

Bert Bates is a 20-year software developer, a Java instructor, and a co-developer of Sun's upcoming EJB exam (Sun Certified Business Component Developer). His background features a long stint in artificial intelligence, with clients like the Weather Channel, A&E Network, Rockwell, and Timken.

Kathy Sierra has been interested in learning theory since her days as a game developer (Virgin, MGM, Amblin'). More recently, she's been a master trainer for Sun Microsystems, teaching Sun's Java instructors how to teach the latest technologies to customers, and a lead developer of several Sun certification exams. Along with her partner Bert Bates, Kathy created the Head First series. She's also the original founder of the Software Development/Jolt Productivity Award-winning javaranch.com, the largest (and friendliest) all-volunteer Java community.

Bibliographic information