الگوهای طراحی (Design Pattern) رو میشه یکی از سوالات دائمی در جلسات استخدامی دانست. بسیاری از برنامهنویسان با سابقه بدون آنکه بدانند در طول برنامهنویسی خود با الگوهای طراحی (Design Pattern) کار میکنند.
این الگوها وابسته به زبان خاصی نیستند و در تمامی زبانها قابل پیاده سازی هستند. با دانستن و رعایت الگوهای طراحی کدی تمیزتر و خواناتر خواهیم داشت. در یک سری سلسله پست ما به طور خاص به بررسی الگوهای طراحی در فریمورک لاراول میپردازیم. مثالها تماما با آخرین نسخه فریمورک لاراول (ورژن ۸) خواهد بود. در یک سلسه پست دیگر همین الگوها را در جاوا بررسی خواهیم کرد.
برنامه نویسی در واقع یک سبک زندگی است تا یک شغل. بهترین برنامهنویسان جهان 24/7 به کار خود فکر می کنند. آنها زمانی که پشت میز کار خود نیستند بهترین ایده های خود را ارائه می کنند. به طور کلی، بهترین کار آنها به دور از کیبورد انجام می شود.
از آنجایی که توسعه دهندگان باید از زاویههای متفاوت به مشکلات نگاه کنند، پروژههای نرمافزاری را نمی توان با صرف زمان بیشتر در دفتر یا اضافه کردن افراد بیشتر تسریع کرد. توسعه یک نرمافزار فقط مربوط به جدول زمانی و وظایف محول شده نیست. اگر به مراکز برنامهنویسی شرکتهای بزرگ دنیا مانند گوگل و آی بی ام مراجعه کنید، خواهید دید که فرصت های زیادی برای گذراندن زمان دور از کیبورد برای توسعه دهندگان وجود دارد. مسائل برنامه نویسی باید با مسائل دنیای واقعی سنجیده شود تا بتواند مشکلات و نیازها را رفع کند.
به همین علت برنامهنویسی شیگرا (OOP) اختراع گردید تا برنامهنویسان بتوانند موضوعات را در قالب اشیای واقعی دنیا بررسی کنند.
الگوهای طراحی چیست؟
زمانی که به دنبال راه حلی برای یک مشکل یا راهی برای دستیابی به آنچه می خواهیم هستیم، معمولاً امیدواریم راهی پیدا کنیم که قابل استفاده مجدد، بهینه و ارزان باشد. ما بهعنوان توسعهدهندگان، چند راه استاندارد برای نزدیک شدن به برخی مشکلات رایج در برنامهنویسی داریم که به آنها الگوهای طراحی میگویند. ای الگوها در واقع زبان مشترکی بین تمامی برنامهنویسان میباشد.
وقتی با مشکلات خاصی مواجه می شوید که تکرار می شوند، سعی می کنید راهحلهایی برای حل آنها بیابید که برای همه و همه قابل استفاده باشد. این موضوع در همه جا رایج است. مکانیک، معماری و حتی رفتار انسانها. برنامه نویسی نیز از این قاعده مستثنی نیست.
الگوهای طراحی برای اولین بار توسط اریک گاما و سه دوستش در سال 1994 معرفی شدند. الگوی طراحی اساساً الگویی از طراحی نرم افزاری است که بر روی چندین پروژه پیادهسازی می شود و موفقیت مورد نظر آن ایده ای برای اثبات این الگو به عنوان راه حلی برای مشکلات متداول تکراری می دهد. الگوهای طراحی راه هایی برای حل یک مشکل و راهی برای به دست آوردن نتیجه مورد نظر شما به بهترین شکل ممکن است. بنابراین، الگوهای طراحی نه تنها راه هایی برای ایجاد یک سیستم بزرگ و قوی هستند، بلکه معماری های عالی را به شیوه ای عالی ارائه می دهند.
مزایای استفاده از الگوهای طراحی
- راحتی در نگهداری سیستم
- راحتی در تولید و خواندن مستندات نرمافزار
- بالا بردن خوانایی کد
- راحتی در گسترش پروژههای بزرگ
- قابلیت استفاده مجدد از کد
یک مثال واقعی از الگوهای طراحی
در کشورهای مختلف انواع مختلفی پریز برق وجود دارد:
حال الگوهای طراحی مانند یک رابط عمل میکنند:
در زبان های شی گرا، ما برنامه نویسان از اشیاء استفاده می کنیم تا هر کاری را که می خواهیم انجام دهیم تا به نتیجه دلخواه برسیم. از این رو، ما انواع مختلفی از اشیا، موقعیت ها و مشکلات داریم. این بدان معناست که ما به بیش از یک رویکرد برای حل انواع مختلف مشکلات نیاز داریم. به همین علت ما از الگوهای مختلف استفاده میکنیم.
دیدگاهتان را بنویسید