رادمان پژوه هوشمند تهران

Design Pattern (الگوی طراحی) چیست؟

1398-03-03 در 11:32

دیزاین پترن‌ها چه هستند و به چه دردی می‌خورند؟


دیزاین پترن‌ها راه حل‌های متداول با قابلیت استفاده مجدد برای مشکلات رایج در حوزه طراحی نرم‌افزار هستند. الگوهای طراحی به این خاطر به وجود آمدند تا بهترین راه‌حل‌های ممکن برای مسایل در برنامه نویسی باشند و از این طریق سرعت توسعه نرم‌افزار رو افزایش بدن. دستورالعمل‌هایی که به ما کمک می‌کنند ساختار و منطق بهتری بنا به صورت مساله در بخش‌‌های مختلف کدنویسی داشته باشیم، راه حل‌هایی که از مشکلات بعدی احتمالی (بی آنکه خودمون حتی پیش‌بینیش کرده باشیم) جلوگیری می‌کنند.

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

در نظر داشته باشید هر مساله‌ای تنها یک راه حل ندارد و می‌شود از چند راه حل (برای یک مساله) استفاده کرد. این راه‌حل ها یک کد از پیش نوشته شده نیستند بلکه یک غالب ساختاری هستند که شما بنا به زبانی که با آن کد میزنید و صورت مساله بهترین الگو ( و یا حتی ترکیبی از الگوها ) را انتخاب و از آن‌ها پیروی می‌کنید.

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

مفهوم الگوی طراحی توسط چه کسی معرفی شد؟


اولین بار Christopher Alexander در کتابی به نام «A Pattern Language: Towns, Buildings, Construction» به توضیح این مفهوم پرداخت. بعد از آن افرادی با نام‌های Erich Gamma ،John Vlissides ،Ralph Johnson و Richard Helm که به گنگ چهار تایی (Gof) معروفند از این کتاب ایده گرفتند و «Design Patterns: Elements of Reusable Object-Oriented Software» را نوشتند که در آن چیزی حدود ۲۳ الگوی برای حل مسایل شی‌گرایی معرفی کردند.