Selecting Appropriate Patterns - Applying Design Patterns | OneNoughtOne