Refactoring to Patterns - When to Use Design Patterns | OneNoughtOne