آموزش Design Patterns

Design Patternها راه حل هایی برای مشکلات طراحی نرم افزار است که شما بارها و بارها در توسعه برنامه های کاربردی با آن ها برخورد می کنید. Patternها مربوط به طراحی reusable و تعامل اشیاء هستند.

Design Patternها در زمان طراحی سیستم های نرم افزاری و یا فرآیند تولید جواب بسیار مورد توجه قرار می گیرند. Design Patternها سر و صدای زیادی به پا کرده اند و از طرفی ممکن است در استفاده از آن ها دچار سردرگمی بشویم. هنگام برخورد با الگوهای طراحی اساساً با سوالات زیر مواجه خواهیم بود:

  • Design Pattern چیست؟
  • چرا باید از Design Patternها استفاده کنیم؟
  • چه زمانی باید از Design Patternها استفاده کنیم؟
  • چند Pattern وجود دارد؟

در اولین مقاله از آموزش Design Pattern سعی می کنیم به این سوالات پاسخ دهیم.

Design Pattern چیست؟

Design Pattern راه حل هایی برای مشکلات طراحی نرم افزار است که شما بارها و بارها در توسعه برنامه های کاربردی با آن ها برخورد می کنید. Patternها مربوط به reusable design و تعامل اشیاء هستند.

Design Pattern ها یکسری جواب های ثابت شده به مشکلات رایج در طراحی هستند. در حقیقت Design Patternها کدهای آماده ای نیستند که بتوان مستقیماً از آن ها استفاده کرد و تنها یکسری رویکرد یا نظریه برای حل چالش های عادی طراحی ارائه می دهند.

چرا باید از Design Patternها استفاده کنیم؟

دلیل استفاده از Design Patternها واضح است، چرا باید چرخ را دوباره اختراع کنیم؟ در حالیکه جواب های کاربردی، تست شده و مستند برای یکسری مسائل بازگشتی رایج داریم.
باید از design pattern ها برای طراحی و توسعه componentهایی استفاده کنیم که مجدداً قابل استفاده و مقیاس پذیر باشند و به تیم برنامه نویسی کمک کنند تا عملیات توسعه در زمان مقرر و با کیفیت بالاتری به انجام برسد. طراحی یک برنامه به شکل استاندارد یا تست شده به سایر توسعه دهنده گان و کسانی که قرار است کدهای برنامه را مرور کنند، اجازه می دهد تا به راحتی مفهوم کدهای نوشته شده را درک کنند.

چه زمانی باید از Design Patternها استفاده کنیم؟

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

چه تعداد Pattern وجود دارد؟

هیچ عدد مشخصی برای تعداد Patternها وجود ندارد. چرا که این Patternها در طول زمان تکامل یافته و توسط سازندگان نرم افزارها مورد استفاده قرار گرفته و بررسی شدند. بررسی این الگوها توسط یک گروه چهار نفره منصوب به Gang Of Four انجام شد. علاوه بر این نگاهی بر اصول طراحی SOLID خواهیم داشت.

23 Pattern ارایه شده توسط گروه Gang Of Four به طور کلی پایه و اساس سایر الگوها در نظر گرفته می شوند. این الگوها در سه گروه Creational، Structural و Behavioral دسته بندی می شوند.

آموزش Design Pattern
آموزش Design Pattern
آموزش Design Pattern

برای شروع با چند اصل اولیه طراحی نظیر کد نویسی تمیز clean coding، loose coupling ، طراحی modular و ... طراحی خود را آغاز کنید و چالش های طراحی را با مسائل شناخته شده و موجود در Design Pattern ها ارزیابی کنید. پس از آن، اگر به الگوی مناسبی رسیدید، ادامه دهید و در غیر این صورت به همان طراحی خودتان اکتفا کنید.
به عنوان آخرین نکته یادآور می شویم که هرگز برنامه خود را مجبور به استفاده از Design Patternها نکنید و تنها زمانی که به آن ها نیاز دارید به سراغ آن ها بروید.

آموزش Design Pattern دوره آموزشی design pattern الگوهای طراحی Gang Of Four اصول طراحی SOLID

مقالات این دسته بندی