Design Patterns Here are implemented most common design patterns. In every Main.java you will find example of usage. It's strongly recommended to visit this site, in order to read more information about each pattern. Singleton Composite Adapter Visitor Template Observer Mediator Proxy Decorator Chain of Responsibility Iterator State Strategy