الگوهای طراحی (Design Pattern) مستنداتی شامل راهحلهای موفق با قابلیت استفاده مجدد هستند که می توان از آن ها برای حل مسائل آتی استفاده نمود تا در صورت بروز مشکل، به جای تلاش مجدد برای یافتن راه حل،از راه حل های تست شده و قابل اطمینان فبلی استفاده کنیم. این ایده در زمینه برنامه نویسی (مخصوصاً برنامه نویسی شیء گرا) بسیار کاربرد دارد. الگوهای طراحی زیادی در رشته مهندسی نرمافزار مطرح گشته است ولی تمامی آن ه از دو قانون کلی پیروی می کنند: پیادهسازی را از واسط برنامه (interface) جدا کنید، هیچگاه پیادهسازی را استفاده نکرده بلکه تنها از واسط های برنامه استفاده کنید.
در دوره آموزشی Foundations of Programming: Design Patterns شما با مبحث الگوهای طراحی در برنامه نویسی و کاربرد آن آشنا می شوید.