Patterns: The Top Ten Misconceptions John Vlissides IBM Research