The Joy of Patterns: Using Patterns for Enterprise Development