Mitchell Waite Signature Series: Object-Oriented Design in Java takes a tutorial approach and teaches in a new way: by offering the Java code first and the design representations and explanations later. No other programming-level book on the market deals with design of Java software. There's nothing aimed at the in the trenches Java programmer. Nor can the Java programmer turn to general books on software design. These, with few exceptions, are abstract and academic, either incomprehensible or irrelevant from the perspective of the working programmer. This book targets the needs of Java application programmers, using an experience-based, hands-on approach.