Chapter 8. Handling Collections with the Iterator and Composite Patterns

<feature> <title>In This Chapter</title> <objective>

Using the Iterator pattern

</objective>
<objective>

Creating iterators

</objective>
<objective>

Iterating over vice presidents using a home-grown iterator

</objective>
<objective>

Understanding the Composite pattern

</objective>
<objective>

Using iterators inside composites

</objective>
<objective>

Parsing XML documents using the Composite pattern

</objective>
</feature>

The CEO of GiantDataPool Inc., the new corporation you’re consulting for, sidles into your cubicle and says something inaudible.

“What?” you ask.

The CEO looks around with a haunted expression and says, “I have a top-secret project for you.”

“Top secret?” you ask. “What’s it about?”

“Not so loud!” whispers the CEO. “We need an outsider for this project, so I’m coming to you. It seems that we’ve got some administrative bloat going on, and we need to track our vice presidents — no one knows how many there are now. There seems, um, to be about twice as many vice presidents as programmers now.”

“Too much management, not enough programmers,” you sigh. “The typical corporate story.”

“We want to start with the Sales division,” the CEO whispers. “Can you write a program that loops over all the VPs and prints them all out?”

“Better than that,” you say. “I’ll use the Iterator pattern.”

This chapter is about two allied design patterns: the Iterator pattern and the Composite pattern. The Iterator pattern gives you a way ...

Get Design Patterns For Dummies® now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.