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. To this end, the text follows a continuous narrative that introduces each element of design know-how in context, and explores alternative solutions in that context. This narrative is complemented by hundreds of code fragments and design diagrams.
The first chapter is a general introduction to software design and the subsequent...
This textbook provides an in-depth introduction to software design, with a focus on object-oriented design, and using the Java programming language...