CS711 - Sofware Design
Anti- Patterns, Identification, Refactoring, and Management by Phillip A. Laplante Design Patterns Elements of Reusable Object Oriented Software by Erich Gamma
Head First Design Pattern by Eric T Freeman Pattern Oriented Software Architecture by Frank Buschmann
Software Architecture Design Pattern in Java by Partha Kuchana The Design Pattern – Java Companion by James W. Cooper