Shalloway Alan Design Patterns Explained (0321247140)
This guide for software developers describes the basic principles underlying object-oriented programming and design patterns, beginning with introductory material on object-oriented software development and the limitations of traditional object-oriented design, and ending with an exploration of ten commonly used design patterns, such as the facade, adapter, bridge, observer, double-checked locking, and factory method patterns. Original. (Advanced)