Structural Design Patterns in Java
Simpliv