Hands-On Design Patterns with Java: Learn Design Patterns That Enable the Building of Large-Scale Software Architectures. - Lavieri Edward. (EN05CEBSCO05C1397, 2019)