The goal of patterns literature is to help programmers resolve the common difficult problems encountered in design and programming. This compendium of design literature focuses on the patterns of software development. As well as encoding design experiences, the book covers: client/server programming; software design; distributed and parallel programming; financial services; object-oriented design; design for reuse; and human interface design.