Anti Patterns are the opposite of ‘Design Patterns’: how not to do things.  Topics range in scale from software development anti patterns to software architecture anti patterns to software project management anti-patterns.  So there are topics of interest for all levels of software developers and managers.

This book is a useful and often humorous read as it is hard not to recognise many of the described patterns from personal experience, although be warned that this can be depressing!  Thankfully some advice is supplied along with each anti pattern about how to effect change for the better.

Design Patterns

This book kick started the whole field of Design Patterns: which are reusable solutions to common problems in software design.  This text can be best described as a catalog of generic designs patterns that can be applied to create software systems.  This makes it an excellent text both for the beginner and experienced object oriented practitioner.

Using these patterns saves valuable time and effort which would otherwise be used to reinvent similar solutions and also provide a very useful standard vocabulary of terms for object oriented practitioners which eases communication significantly.