The purpose of the design pattern dictionary is to serve as reference point for commonly accepted software design patterns and idioms. It contains structured summaries of some 30 design patterns and idioms, commonly used in object oriented programming