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. 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 want to learn how those principles will help the next time you’re up a creek without a design paddle pattern. 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 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. In other words, in real world applications. But you don’t just want to see how patterns look in a book, you want to know how they look “in the wild”. 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). 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.