Object-Oriented Software E ngineering Practical Software Development using UML and Java Design Patterns – Part 3 Sources: Chapter 6: Using Design Patterns,