The Artima Developer Community
Sponsored Link

Books on Java Design


In association with

Here's a list of design-related books I recommend for all programmers. Each entry is linked to the page at where you can order the book online.

Design Patterns
Design Patterns, by Erich Gamma, et. al., is a very important work. It describes 23 patterns that occur again and again in object oriented designs. My familiarity with the patterns in this book have helped me repeatedly in my own software designs. If you buy just one design book, I recommend it be this one.
Categories on this Page
Books about Design Patterns
Java and OO Design Books
Books about Coding
Books about UML
Works in Progress
Search Amazon

Books about Design Patterns

Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (Also know as the "Gang of Four")
This, the grandaddy of all Design Patterns books, is my favorite design book. It describes 23 design patterns common to object oriented programs. Its examples are in C++ and Smalltalk, but it is very practical for Java programmers. In fact, many of the patterns in this book are incorporated into the architecture of the Java API. If you buy one design book, it should be this one.

Pattern-Oriented Software Architecture: A System of Patterns
Frank Buschmann, Regine Meunier, Hans Rohnert, and pet Sommerlad
This book contains 25 useful patterns for software architectures. The patterns in this book are higher level than the Gang of Four book. These patterns will help you structure systems, whereas the Gang of Four book's patterns will help you structure the individual components of systems.

Concurrent Programming in Java: Design Principles and Patterns
Doug Lea
This book is full of design patterns for multi-threaded Java programming. The writing is a bit formal, but the content is very practical for Java programmers. If you really want to get to know multi-threaded programming in Java, you probably want to get to know this book.

Pattern Languages of Program Design, Volume I
James Coplien and Doug Schmidt
If you are really into patterns, try this three volume series of design patterns for software. Volume II is edited by John Vlissides, James Coplien, and Normal Kerth. Volume III is edited by Robert Martin, Dirk Riehle, and Frank Buschmann.

A Pattern Language: Towns, Buildings, Construction
Christopher Alexander
This book is not about design patterns in software architecture, it's about design patterns in the architecture of buildings. This is the book that gave the whole design patterns movement its start. Very interesting reading.

Java- and Object-Oriented Design Books

Java in Practice: Design Styles and Idioms for Effective Java
Nigel Warren and Phil Bishop
This book includes three chapters on each of abstraction, encapsulation, and polymorphism, plus several guidelines and idioms for Java program design and construction. If you are interested in the material in my Design Techniques column, you'd probably like this book.

Java Design: Building Better Apps and Applets
Peter Coad and Mark Mayfield
This book discusses design strategies very pertinent to the Java language itself. It talks about using composition versus inheritance, using interfaces, designing with threads, and designing with notification (such as the observer/observable pattern.) Although it is difficult reading (it has the feel of a book that was rushed to market), it contains good insights for Java programmers willing to work through it.

Object-Oriented Software Construction
Bertrand Meyer
This book is an excellent and comprehensive survey of object-oriented programming. It is not specific to Java, but very applicable to Java, as Java programmers should have a good foundation in object-oriented principles.

Java Software Solutions: Foundations of Program Design
John Lewis and William Loftus
This is a textbook on object-oriented programming in Java geared for beginning programmers.

Objects and Systems: Principled Design With Implementations in C++ and Java
Bernard P. Zeigler
This is an undergraduate textbook on object-oriented programming geared for beginning programmers with examples in both C++ and Java.

Principles of Object-Oriented Programming in Java 1.1: The Practical Guide to Effective, Efficient Program Design
James W. Cooper
This is a general text on Java program design.

Books about Coding

Code Complete: A Practical Handbook of Software Construction
Steve McConnell
This is a very practical guide to software development process. This book explains how to get the most out of a software team without sacrificing quality of work or quality of life. Filled with simple, proven strategies that keep projects on track. A very readable, anecdotal format.

The Mythical Man Month
Frederick P. Brooks, Jr.
This is one of the classic texts on the people management aspects of software project management.

Books about UML

UML Distilled: Applying the Standard Object Modeling Language
Martin Fowler with Kendall Scott
This 178 page book gives a good, to-the-point introduction to UML essentials.

Works in Progress

The Precise Object: Best Practices in Object-Oriented Design with Java
Bill Venners
This work-in-progress is one of my current writing projects.

Search Amazon

Search: Enter keywords... logo
Hot 100 Books | Hot 100 CDs |

Sponsored Links

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use