With software engineering books, it's hard to get the right mix of theory and practice. Object-Oriented Design in Java combines the best of today's thinking on software engineering with nuts-and-bolts examples written in Java. The result is this fine introduction to both disciplined software engineering and the strengths of Java for effective object-oriented design (OOD).
The text begins with a discussion of design and its necessity in writing successful software. Then it expands on the advantages of OOD. It offers a quick tour of Java's syntax, which becomes useful in later sections on class design in Java. Further chapters look at strategies for creating objects in OOD, including when to use inheritance, encapsulation, and composition.
Here the authors introduce the basics of the Unified Modeling Language (UML) along with actual case studies of small class hierarchies modeled in Java.Some of the most useful material is the authors' leading-edge discussion of patterns--reusable designs for software--with examples written in Java. Later sections of the book grow more theoretical, with discussions of such topics as concurrency, database persistence, guidelines for user interface design, component and class library reuse, and system architecture.
http://rapidshare.com/files/40490481/1571691340.rar
http://depositfiles.com/files/1136773