Common Design Pattern implementations in Java