Design Patterns Explained: A New Perspective on Object-Oriented Design by James Trott | Menrva Books