| Name in Design Pattern | Actual Name | Primitive | LineItem | Composite | Bundle | Leaf | Product | method() | getPrice() |
| Name in Design Pattern | Actual Name |
| Component | LineItem |
| ConcreteComponent | Product |
| Decorator | DiscountedItem |
| method() | getPrice() |
| Name in Design Pattern | Actual Name |
| Subject | Invoice |
| Observer | ChangeListener |
| ConcreteObserver | Anonymous class that implements ChangeListener |
| attach() | addChangeListener() |
| notify() | stateChanged() |
| Name in Design Pattern | Actual Name |
| Aggregate | None |
| ConcreteAggregate | Invoice |
| Iterator | Iterator |
| ConcreteIterator | Anonymous class that implements Iterator |
| createIterator() | getItems() |
| next() | next() |
| isDone() | hasNext() |
| currentItem() | Not implemented |
| Name in Design Pattern | Actual Name |
| Context | Invoice |
| Strategy | InvoiceFormatter |
| ConcreteStrategy | SimpleFormatter |
| doWork() | formatHeader() formatLineItem() formatFooter() |