Design patterns examples in JAVA from the book: Design Patterns: Elements of Reusable Object-Oriented Software, GoF.