References
Design Patterns-elements of reusable object oriented software by GOF.
Design Patterns using Java by James W.Cooper.