begin
Design Pattern چیست و به چه دردی میخورد! سوال همینجاست که آیا واقعاً بدون دانستن الگوهای طراحی شما نمیتوانید یک طراح نرم افزار موفق باشید؟
در پاسخ به این سوال باید گفت که خیر! شاید هم بله... !
واقعیت اینست که تعداد قابل توجهی از نرم افزارهای تولید شده ( حد اقل در ایران) الگوهای طراحی را رعایت نمی نمایند و جزو نرم افزارهای موفق هم شناخته میشوند! اما در پس این جریان تولید و توسعه و نگهداری و حتی پشتیبانی چه خبر بوده است؟ چه مسیری طی شده است و چه مسیری واقعا باید طی میشد؟هرینه های توسعه و نگهداری این سیستم ها چگونه است؟
کسی که ادعا میکند که یک مهندس نرم افزار است باید توانایی طراحی مبتنی بر الگو را داشته باشد. الگوهای طراحی در ارتباط تنگاتنگ با OOP (برنامه نویسی شی گرا)هستند و دربسیاری موارد مشکلات OOP را برطرف مینمایند! بله OOP علارغم اینکه به برنامه نویسی در سال های اخیر جانی دوباره بخشید ناگزیر مشکلات خاص خود را نیز به دنبال داشت.
استفاده صحیح از الگوهای طراحی در زیرساخت برنامه ها ، میتواند سرعت روند توسعه را دوچندان نماید و از به وجود آمدن کدهای موسوم به Code Smells و مشکلی به نام بدهی های فنی جلوگیری نماید. استفاده مجدد از ماژول ها و بخش های مختلف به آسانی صورت میگیرد و در نهایت توسعه به واقع اصولی ، آسان و سریع تر انجام میشود.
در مقابل ، استفاده ی بی رویه و اجباری از الگوهای طراحی نیز در جایی که طراحی ساده شی گرا کفایت میکند توصیه نمیشود.
در ادامه مطلب با انواع الگوهای طراحی آشنا خواهیم شد.