Resources

design pattern

A general repeatable or reusable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. (derived from Wikipedia)