Introduction to Software Design with Java - Robillard, Martin P (Springer International Publishing AG, 2022)
This textbook provides an in-depth introduction to software design, with a focus on object-oriented design, and using the Java programming language.Its goal is to help readers learn software design by discovering the experience of the design process.