Head First Design Patterns

ISBN-10: 0596007124
ISBN-13: 9780596007126
Edition: 2004
List price: $59.99 Buy it from $19.22
eBook available
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: 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  More...

Used Starting from $19.22
New Starting from $43.24
eBooks Starting from $50.99
Buy
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS PowerPoint® 2010 Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $59.99
Copyright year: 2004
Publisher: O'Reilly Media, Incorporated
Publication date: 11/4/2004
Binding: Paperback
Pages: 694
Size: 8.50" wide x 9.50" long x 1.75" tall
Weight: 2.662
Language: English

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 paddle 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 andAdapter. 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.

Elisabeth Robson is co-founder of Wickedly Smart, an education company devoted to helping customers gain mastery in web technologies. She’s co-author of three bestselling books, Head First Design Patterns, Head First HTML with CSS & XHTML and Head First HTML5 Programming.

Kathy Sierra was lead developer for the SCJP for Java 5. Sierra worked as a Sun "master trainer," and in 1997, founded javaranch.com, the largest Java community website. Her books have won multiple Software Development Magazine awards, and she is a founding member of Sun's Java Champions program.Bert Bates was a lead developer for several of Sun's Java certifications including the SCJP for Java 5. He is also a forum moderator on javaranch.com, a 20-year software developer veteran, and co-author of several bestselling Java books. Bert is is a founding member of Sun's Java Champions program.

Intro to Design Patterns
Welcome to Design Patterns: Someone has already solved your problems
The SimUDuck app
Joe thinks about inheritance...
How about an interface?
The one constant in software development
Separating what changes from what stays the same
Designing the Duck Behaviors
Testing the Duck code
Setting behavior dynamically
The Big Picture on encapsulated behaviors
HAS-A can be better than IS-A
The Strategy Pattern
The power of a shared pattern vocabulary
How do I use Design Patterns?
Tools for your Design Toolbox
Exercise Solutions
The Observer Pattern
Keeping your Objects in the Know: Don't miss out when something interesting happens!
The Weather Monitoring application
Meet the Observer Pattern
Publishers + Subscribers = Observer Pattern
Five minute drama: a subject for observation
The Observer Pattern defined
The power of Loose Coupling
Designing the Weather Station
Implementing the Weather Station
Using Java's built-in Observer Pattern
The dark side of java.util. Observable
Tools for your Design Toolbox
Exercise Solutions
The Decorator Pattern
Decorating Objects: Just call this chapter "Design Eye for the Inheritance Guy."
Welcome to Starbuzz Coffee
The Open-Closed Principle
Meet the Decorator Pattern
Constructing a Drink Order with Decorators
The Decorator Pattern Defined
Decorating our Beverages
Writing the Starbuzz code
Real World Decorators: Java I/O
Writing your own Java I/O Decorator
Tools for your Design Toolbox
Exercise Solutions
The Factory Pattern
Baking with OO Goodness: Get ready to cook some loosely coupled OO designs
When you see "new", think "concrete"
Objectville Pizza
Encapsulating object creation
Building a simple pizza factory
The Simple Factory defined
A Framework for the pizza store
Allowing the subclasses to decide
Let's make a PizzaStore
Declaring a factory method
Meet the Factory Method Pattern
Parallel class hierarchies
Factory Method Pattern defined
A very dependent PizzaStore
Looking at object dependencies
The Dependency Inversion Principle
Meanwhile, back at the PizzaStore...
Families of ingredients...
Building our ingredient factories
Looking at the Abstract Factory
Behind the scenes
Abstract Factory Pattern defined
Factory Method and Abstract Factory compared
Tools for your Design Toolbox
Exercise Solutions
The Singleton Pattern
One of a Kind Objects: The Singleton Pattern: your ticket to creating one-of-a-kind objects, for which there is only one instance
One and only one object
The Little Singleton
Dissecting the classic Singleton Pattern
Confessions of a Singleton
The Chocolate Factory
Singleton Pattern defined
Hershey, PA, we have a problem...
BE the JVM
Dealing with multithreading
Singleton Q&A
Tools for your Design Toolbox
Exercise Solutions
The Command Pattern
Encapsulating Invocation: In this chapter we take encapsulation to a whole new level: we're going to encapsulate method invocation
Home Automation or Bust
The Remote Control
Taking a look at the vendor classes
Meanwhile, back at the Diner...
Let's study the Diner interaction
The Objectville Diner Roles and Responsibilities
From the Diner to the Command Pattern
Our first command object
The Command Pattern defined
The Command Pattern and the Remote Control
Implementing the Remote Control
Putting the Remote Control through its paces
Time to write that documentation
Using state to implement Undo
Every remote needs a Party Mode!
Using a Macro Command
More uses of the Command Pattern: Queuing requests
More uses of the Command Pattern: Logging requests
Tools for your Design Toolbox
Exercise Solutions
The Adapter and Facade Patterns
Being Adaptive: In this chapter we're going to attempt such impossible feats as putting a square peg in a round hole
Adapters all around us
Object Oriented Adapters
The Adapter Pattern explained
Adapter Pattern defined
Object and Class Adapters
Tonight's talk: The Object Adapter and Class Adapter
Real World Adapters
Adapting an Enumeration to an Iterator
Tonight's talk: The Decorator Pattern and the Adapter Pattern
Home Sweet Home Theater
Lights, Camera, Facade!
Constructing your Home Theater Facade
Facade Pattern defined
The Principle of Least Knowledge
Tools for your Design Toolbox
Exercise Solutions
The Template Method Pattern
Encapsulating Algorithms: We've encapsulated object creation, method invocation, complex interfaces, ducks, pizzas...what could be next?
Whipping up some coffee and tea classes
Abstracting Coffee and Tea
Taking the design further
Abstracting prepareRecipe()
What have we done?
Meet the Template Method
Let's make some tea
What did the Template Method get us?
Template Method Pattern defined
Code up close
Hooked on Template Method...
Using the hook
Coffee? Tea? Nah, let's run the TestDrive
The Hollywood Principle
The Hollywood Principle and the Template Method
Template Methods in the Wild
Sorting with Template Method
We've got some ducks to sort
Comparing ducks and ducks
The making of the sorting duck machine
Swingin' with Frames
Applets
Tonight's talk: Template Method and Strategy
Tools for your Design Toolbox
Exercise Solutions
The Iterator and Composite Patterns
Well-Managed Collections: There are lots of ways to stuff objects into a collection
Objectville Diner and Pancake House merge
Comparing Menu implementations
Can we encapsulate the iteration?
Meet the Iterator Pattern
Adding an Iterator to DinerMenu
Looking at the design
Cleaning things up with java.util.Iterator
What does this get us?
Iterator Pattern defined
Single Responsibility
Iterators and Collections
Iterators and Collections in Java 5
Just when we thought it was safe...
The Composite Pattern defined
Designing Menus with Composite
Implementing the Composite Menu
Flashback to Iterator
The Null Iterator
The magic of Iterator & Composite together...
Tools for your Design Toolbox
Exercise Solutions
The State Pattern
The State of Things: A little known fact: the Strategy and State Patterns were twins separated at birth
How do we implement state?
State Machines 101
A first attempt at a state machine
You knew it was coming...a change request!
The messy STATE of things...
Defining the State interfaces and classes
Implementing our State Classes
Reworking the Gumball Machine
The State Pattern defined
State versus Strategy
State sanity check
We almost forgot!
Tools for your Design Toolbox
Exercise Solutions
The Proxy Pattern
Controlling Object Access: Every play good cop, bad cop?
Monitoring the gumball machines
The role of the 'remote proxy'
RMI detour
GumballMachine remote proxy
Remote proxy behind the scenes
The Proxy Pattern defined
Get Ready for virtual proxy
Designing the CD cover virtual proxy
Virtual proxy behind the scenes
Using the Java API's proxy
Five minute drama: protecting subjects
Creating a dynamic proxy
The Proxy Zoo
Tools for your Design Toolbox
Exercise Solutions
Compound Patterns
Patterns of Patterns: Who would have ever guessed that Patterns could work together?
Compound Patterns
Duck reunion
Adding an adapter
Adding a decorator
Adding a factory
Adding a composite, and iterator
Adding an observer
Patterns summary
A duck's eye view: the class diagram
Model-View-Controller, the song
Design Patterns are your key to the MVC
Looking at MVC through patterns-colored glasses
Using MVC to control the beat...
The Model
The View
The Controller
Exploring strategy
Adapting the model
Now we're ready for a HeartController
MVC and the Web
Design Patterns and Model 2
Tools for your Design Toolbox
Exercise Solutions
Better Living with Patterns
Patterns in the Real World: Ahhhh, now you're ready for a bright new world filled with Design Patterns
Your Objectville guide
Design Pattern defined
Looking more closely at the Design Pattern definition
May the force be with you
Pattern catalogs
How to create patterns
So you wanna be a Design Patterns writer?
Organizing Design Patterns
Thinking in patterns
Your mind on patterns
Don't forget the power of the shared vocabulary
Top five ways to share your vocabulary
Cruisin' Objectville with the Gang of Four
Your journey has just begun...
Other Design Pattern resources
The Patterns Zoo
Annihilating evil with Anti-Patterns
Tools for your Design Toolbox
Leaving Objectville...
Appendix: Leftover Patterns: Not everyone can be the most popular
Bridge
Builder
Chain of Responsibility
Flyweight
Interpreter
Mediator
Memento
Prototype
Visitor
Index

×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×