الگو طراحی یا Design Pattern

الگو طراحی چیست و چرا باید از الگوهای طراحی در برنامه نویسی استفاده کن...