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)