دیزاین پترن ها ( الگو های طراحی ) چی هستن ؟
دیزاین پترن ها راه حل هایی معمولی برای مشکلاتی هستن که معمولا در طراحی نرم افزار اتفاق می افتد. دیزاین پترن ها مثل طرح ها از پیش ساخته هستن که شما می تونید برای حل مشکل طراحی در کد خودتون استفاده شون کنید.
شما نمیتوید فقط یک تیکه کد پیدا کنید و اونو در برنامه خودتون کپی کنید، راه و روش شما می تواند چیزی خارج از چارچوب کتابخانه ها یا توابع باشد. یک پترن یا طرح یک تیکه کد نیست، اما یک مفهوم عمومی برای حل یک مشکل خاص هست. شما می توانید جزییات الگو یا پترن را دنبال کرده و راه حلی را متناسب با واقعیت های برنامه خود پیاده سازی کنید.
پترن ها اغلب با الگوریتم ها اشتباه گرفته میشن، به این دلیل که هر دو مفهوم راه حلهایی معمولی برای برخی از مشکلات شناخته شده رو توصیف می کنن. در حالی که یک الگوریتم همیشه مجموعه ای مشخص از اعمال را انجام میده تا به یک هدف مشخص برسه، اما یک پترن یک تعریف سطح بالا از یک راه حل هستش. ممکن است که کدهای پترن های یکسان برای دو برنامه متفاوت مشابه هم نباشن.
مقایسه پترن با الگوریتم مثل یک دستور پخت و پز است، هر دو روش های روشنی برای رسیدن به هدف دارن. به عبارت دیگر، یک پترن بیشتر شبیه یک طرح است: شما می تونید ویژگی های اونو و اینکه چه چیزی به عنوان نتیجه و خروجی دارد را ببینید، اما اینکه چطور پیاده سازی بشه به عهده شما ( برنامه نویس ) هستش.
اکثر پترن ها طوری تعریف می شوند که مردم بتونن در تمام زمینه ها از آنها استفاده کنند. همچنین در اینجا بخش هایی که معمولا در توضیحات هستند آورده شده است :
برخی از کاتالوگهای الگویی جزئیات مفید دیگری، مانند کاربرد پترن، مراحل اجرای و روابط با سایر پترن ها را ذکر می کند.
کاتالوگ دیزاین پترن ها :
پترن ها خلاقانه :
این پترن های مکانیزم های مختلف ایجاد شی را ارائه می دهند، که انعطاف پذیری و استفاده مجدد از کد را افزایش می دهند.
پترن های ساختاری :
این پترن ها نحوه اسمبل کردن اشیاء و کلاس ها را در ساختار های بزرگتر با حفظ انعطاف پذیری و کارآمدی این ساختار ها توضیح می دهند.
پترن های رفتاری :
این پترن ها مربوط به الگوریتم ها و تعیین مسئولیت بین اشیا هستند.
پایان قسمت اول.
قصد دارم تا اگر وقت یاری کرد آموزشی های سایت منبع رو ترجمه کنم اینجا بذارم تا هم مروری برای خودم باشه هم کمکی به منابع فارسی در این زمینه کرده باشم.
ممنون بابت وقتی که گذاشتید و این ترجمه ناقص رو خوندین.
لینک گیت هاب جهت حمایت شما دوستان : لینک گیت هاب
منبع : ریفکتورینگ
گردآورنده : تیم فنی نتیرال
قسمت دو : Factory Method