Computer programming
Design Patterns
Factory
Pattern
John Vlissides
Iterator
Erich Gamma
Software design patterns
Computing
Software engineering