Choosing the Right Design Pattern: the Implicit Culture Approach