به طور کلی وقتی در ساخت و پیدا سازی نرم افزار یک مشکلی پیش میاد چندین راه حل برای حل اون مشکل وجود داره، ولی یک سری راه حل های کلی و مفهومی (Abstract) وجود داره که خیلی خوب طراحی شده،
و قابلیت استفاده توی موارد بیشتری رو داره، در اصل یک سری الگو وجود داره که به کمک اون ها میشه
کد های با بهرهوری بالاتر (Performance) و خوانی بیشتر نوشت
به این الگو های طراحی، دیزاین پترین (Design Pattern) گفته میشه
دیزاین پترن ها به ۳ بخش کلی تقیسم میشن
این نوع از دیزاین پترن ها جهت بهبود ایجاد یک یا چند نمونه (Instance) از شئ (Object) مورد نظر استفاده میشود.
از پرکاربرد ترین آن ها میتوان به Singleton و یا Abstract Factory اشاره کرد
این نوع از دیزاین پترن ها جهت بهبود نظم و ساختار اشیا (Objects) و ایجاد توابع جدید از شئ (Object) مورد نظر استفاده میشود.
از پرکاربرد ترین آن ها میتوان به Adapter و یا Facade اشاره کرد
این نوع از دیزاین پترن ها جهت بهبود رفتار مشترک بین اشیا (Object) استفاده میشود.
از پرکاربرد ترین آن ها میتوان به Observer اشاره کرد