Sponsored Link •
|
Advertisement
|
Here's a list of design-related books I recommend for all programmers.
Each entry is linked to
the page at Amazon.com where you can order the book online.
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 |
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.
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.
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.
The Precise Object: Best Practices in Object-Oriented Design with Java
Bill Venners
This work-in-progress is one of my current writing projects.
Sponsored Links
|