دیزاین پترن چیست ؟

به نام خدا
دوستان میخوام کارمو در لارامن با مسائل مفهومی شروع کنم و امیدوارم بتونم مطالب رو خیلی خلاصه و کوتاه برای شما توضیح بدم،
چون خودم با این سبک مطالب رو میخونم و یاد میگیرم.
مطلب هرچقدر کوتاه تر باشه یادگیریش هم راحته.
خب بریم سر اصل مطلب که اصلا دیزاین پترن چیست ؟ و به چه دردی میخوره ؟
دیزاین پترن چیست ؟
به طور خلاصه، دیزاین پترن الگوی طراحی است و مختص به یک زبان خاص برنامه نویسی نیست،
به عبارتی دیگر به مجموعهای از راهکارها در برنامهنویسی گفته میشوند که میتوانید از آنها در کدنویسی پروژهها چه کوچک و چه بزرگ استفاده نمایید.
این الگوها که توسط متخصصان باتجربه در زمینهٔ شییٔگرایی پیادهسازی شدهاند، میتوانند کمک کنند تا سورسکدتان انعطافپذیرتر،
تغییرپذیرتر و برای نگهداری آسانتر شوند.
زمانی که شما میخواهید یک سری کارها تکرای رو انجام بدید اینجاست که دیزاین پترن ها به کمک شما می آیند.
مثلا فکر کنید شما میخوهید 100 بار عد 9 را با هم جمع کنید، مسلما این کار هم خسته کننده ست،
هم زمان گیر پس به جای این کار شما میتونید از مفهومی به اسم ضرب استفاده کنید.
توجه داشته باشید که دیزاین پترن یک کلاس یا تابع یا غیره نیست که توی کدها بتونید use کنید و ازش استفاده کنید
دیزاین پترن یک مفهومه که باید درجای خودش استفاده بشه ، اگه جای درستی استفاده نشه میتونه واسه شما مخرب هم باشه...
دیزاین پترن ها به 4 دسته زیر تقسیم میشوند که هرکدام را جداگانه در مقاله بعدی توضیح خواهم داد:
1. Creational Patterns ( خلاقانه یا تکوینی )
2. Structural Patterns (ساختاری)
3. Behavioral Patterns (رفتاری)
4. Concurrency patterns (همبستگی یا همزمانی)
که مورد چهارم پیچیدگی بیشتری نسبت به بقیه دارد.