Design Patterns 

Patterns are a recent software engineering problem-solving discipline that emerged from the object-oriented community. Design patterns are recurring solutions to software design problems you find again and again in real-world application development. Patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to
more...