Jeff Friesen revisits the Gang of Four Strategy and
Visitor patterns from a Java developer's perspective, first demonstrating the three components of a successful Strategy, then unpacking Visitor's confounding (for many) double dispatch mechanism. He also offers tips for learning the GoF patterns and discusses some of the reasons why design patterns shouldn't be applied to every programming problem.