سمیکالن – روایتگران داستان تکنولوژی

designpatterns-720x340

5 دلیل محکم برای یادگیری الگو های طراحی (قسمت اول)

اگر با الگوهای طراحی یا دیزاین پترن ها (design patterns) آشنا باشید.میدانید که آنها، مجموعه ای از راهکارهای عمومی در برنامه نویسی به سبک شئ گرایی هستند که میتوانید از آنها در پروژه های بزرگ و کوچک استفاده کنید.الگوهای طراحی کد شما را منطعف، تغییر پذیر و نگهداری آن را آسان تر میکنند.اگر هنوز هم الگوهای طراحی را در پروژه ی خود استفاده نکرده اید.پیشنهاد میکنیم با دلایلی که در ادامه ی مطلب بیان میکنیم خود را توجیه کنید و از الگوهای طراحی در پروژه هایتان استفاده کنید.با سمیکالن همراه باشید.

1 – با دوباره اختراع نکردن چرخ، زندگی خود را آسان کنید

همیشه یک اصل مهم در بحث توسعه ی نرم افزار وجود دارد.دچار اشتباه نشوید.منظورمان بحث های مالی و زمان اتمام پروژه نیست.بلکه انعطاف پذیزی در مقابل تغییرات است.تغییرات وقتی واجب می شوند و اتفاق میفتند که الزامات سیستم تغییر کند.

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

جواب سوال این است که در واقع چیز عجیب و غریبی وجود ندارد و هیچ معجزه ای هم رخ نمی دهد.ولی تکنیک ها و راهکارهایی وجود دارد که به شما در ساخت پروژه های شئ گرایتان کمک می کند.و پروژه ی شما قابل فهم برای دیگران و تغییر پذیر نیز خواهد بود.این تکنیک ها توسط افراد حرفه ای و باتجربه کشف و طراحی شده اند و برای استفاده ی همه به بازار عرضه شده اند.این راهکارها را با نام الگوهای طراحی (Design Patterns) می شناسیم.

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

2 – بهبود مهارت های شئ گرایی

همه ی ما اصول طراحی و ساخت نرم افزارهای شئ گرا را می دانیم.این اصول انتزاع (abstraction)، وراثت (inheritance)، چند ریختی (polymorphism) و کپسوله سازی (encapsulation) هستند.در واقع ساخت سیستم شئ گرا به همینجا ختم نمی شود.اگر بخواهیم از این قوانین در طراحی حای خود به صورت روتین و عادی استفاده کنیم مشکلاتی از قبیل تکرار کد، طراحی ضعیف و استفاده ی مکرر از کلاس، گریبان ما را خواهد گرفت.

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

این مطلب ادامه دارد …