الگوهای طراحی نرم افزار یا دیزاین پترن ها

الگوهای طراحی نرم افزار یا دیزاین پترن ها
الگوهای طراحی نرم افزار یا دیزاین پترن ها


میخوام راجع به الگوهای طراحی نرم افزار یا دیزاین پترن ها صحبت کنم . اینکه اصلا چی هستن و چرا باید یاد بگیریم . حقیقت اینه که شما ممکنه بتونی سالها به عنوان برنامه نویس کار کنی بدون اینکه از دیزاین پترن ها اطلاعی داشته باشی ، حتی ممکنه بعضی از این الگو هارو بدون اینکه متوجه بشی اجرا کنی . پس چرا برای یادگیریش باید وقت بگذاریم ؟!

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

ببین رفیق الگوهای طراحی نرم افزار یا دیزاین پترن ها ، مجموعه روشهای آزمایش شده ای هستن که برای حل مشکلات رایج در برنامه نویسی از اونها استفاده میکنیم . دونستن این روشها بهمون یاد میده که چطور مشکلات و مسائل برنامه نویسی رو با استفاده از اصول طراحی شیءگرا حل کنیم . قبلا برنامه نویس ها برای حل مشکلاتشون روشهای مختلفی رو بارها و بارها تکرار میکردند بعد از گذشت مدتی برای اولین بار معماری به نام آقای کریستوفر الکساندر از مفهوم الگوهای طراحی استفاده کرد که در زمینه طراحی شهری بود و در اون 253 الگوی طراحی ارائه شده بود . بعد ها این مفهوم به دنیای برنامه نویسی هم وارد شد و گروهی موسوم به دسته چهار که اعضای آن رالف جانسون، ریچارد هلم، ریک گاما، جان ولیسیدز بودن ، الگو های طراحی در نرم افزار را طبقه‌بندی و تحت عنوان کتابی به نام « الگوهای طراحی : عناصر دوباره قابل استفاده نرم‌افزار شیءگرا » در سال 1994 منتشر کردند . در حال حاظر 23 الگوی طراحی در نرم افزار وجود داره ، پس بهتره ما هم از روشهایی که قبلا تست شده و روند توسعه رو برامون آسون تر میکنه استفاده کنیم . ضمن اینکه با استفاده از الگو های طراحی در نرم افزار ما کد تمیز تر و با معماری مشخصی داریم .


مزایای استفاده از الگو های طراحی ای دیزاین پترن ها

  • استاندارد سازی‌ : دیزاین پترن ها باعث ایجاد یک مسیر و رویکرد مشترک در تیم های توسعه میشن
  • تکرار پذیری : با استفاده از دیزاین پترن ها میتونیم کدهایی با قابلیت استفاده مجدد تولید کنیم تا در موارد مشابه از اونها استفاده بشه
  • کاهش خطا و صرفه جویی در زمان : دیزاین پترن ها باعث میشن تکرار در توسعه و پیاده سازی نرم افزار کمتر بشه و همین امر باعث کاهش خطا و اشتباه در نرم افزار میشه
  • قابلیت توسعه : وقتی شما از دیزاین پترن ها استفاده میکنی ساختار و منطق نرم افزارت بهبود پیدا میکنه و میتونی تغییرات و توسعه بعدی رو راحت تر انجام بدی
  • افزایش کیفیت نرم افزار: استفاده از دیزاین پترن ها باعث میشه کیفیت و عملکرد نرم افزار بهتر بشه چون این الگو ها بر اساس تجربه های تست شده در زمینه های مختلف بدست اومده


دسته بندی دیزاین پترن ها

الگو های طراحی بر اساس هدف و کاربردشون به سه گروه تقسیم بندی میشن

الگوهای سازنده (Creational Design Patterns) : برای ایجادو مدیریت شیء استفاده میشه و از وابستگی ها و جزئیات پیچیده در برنامه نویسی شیء گرا جلوگیری میکنه . الگوهای سازنده 6 بخش مختلف داره

  • الگوهای ساختاری (Structural Design Patterns) : الگوهای ساختاری همونطور که از اسمش هم پیداست برای ساختار دهی و ایجاد ارتباط بین عناصر مختلف استفاده میشه این الگو بهمون اجازه میده تا روابط بین اشیاء و کلاسها رو بهبود ببخشیم و ساختار سیستم رو برای قابل توسعه کنیم
  • الگوهای رفتاری (Behavioral Design Patterns) : این دسته الگو هم به منظور مدیریت رفتار و ارتباط بین اشیاء و کلاسها استفاده میشه . با استفاده از این الگوها میتونیم تغییرات رو در رفتار برنامه بصورت انعطاف پذیر اعمال کنیم


توی مطلب بعدی راجع به گروه الگوهای سازنده بهت توضیح میدم . ضمنا توی کانال آپارات هم آموزش هر بخش رو قرار میدم میتونی اونجا همراه با مثال آموزش ببینی

مراقب خودت باش یاعلی :)