Design Patterns Complete Implementation (by Java)