سینا کلانتری
سینا کلانتری
خواندن ۲ دقیقه·۵ سال پیش

الگو های طراحی (Design Patterns) در کدنویسی

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

الگو های طراحی برنامه نویسی
الگو های طراحی برنامه نویسی

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

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

اغلب افراد تنها یاد میگیرند چطور برخی از تکنیک های طراحی نرم افزار رو بر روی برخی از مشکلات اعمال کنند. اعمال این تکنیک ها برای مقابله با گستره وسیعی از مشکلات کار سختی است. الگو های طراحی راه حل های جامعی رو مستند شده و در قالبی فراهم میکنند که هیچ ارتباطی با جزئیات یک مشکل خاص ندارد و مشکلات زیاد دیگه ای رو هم ممکن است در بر بگیرد.

بعلاوه، الگو ها به توسعه دهندگان این اجازه را میدهند که برای تعاملات نرم افزار با استفاده از اصول نامگذاری و نام های واضح و شناخته شده ارتباط برقرار کنند. الگو های طراحی با گذشت زمان میتوانند بهبود پیدا کنند، که این موضوع میتواند این الگو ها را از طراحی های ad-doc (الگو های ad-doc الگو هایی هستند که با هدف حل مشکلات خاص طراحی میشوند، و مانند الگو های طراحی مورد بحث ما، جامع و کلی نیستند) بسیار قوی تر کند.


در مقاله های بعدی انشاءالله انواع دیزاین پترن ها مورد بررسی قرار میدیم...

دیزاین پترنdesign patternsالگو های طراحیبرنامه نویسی اصولیبرنامه نویسی
مدیر پروژه و برنامه نویس Php - Laravel Framework
شاید از این پست‌ها خوشتان بیاید