Hands-On Design Patterns with Java: Learn design patterns that enable the building of large-scale so