- Design Pattern چیست؟
- چرا باید از Design Pattern ها استفاده کنیم؟
- چه زمانی باید از Design Pattern ها استفاده کنیم؟
- چند Pattern وجود دارد؟
در اولین مقاله از آموزش Design Pattern سعی می کنیم به این سوالات پاسخ دهیم.
Design Patterns یا الگوهای طراحی چیست؟
الگوهای طراحی شی گرا راه حل هایی برای مشکلات طراحی نرم افزار است که شما بارها و بارها در توسعه برنامه های کاربردی با آن ها برخورد می کنید. Patternها مربوط به reusable design و تعامل اشیاء هستند.
الگوهای طراحی شی گرا یکسری جواب های ثابت شده به مشکلات رایج در طراحی هستند. در حقیقت Design Pattern ها کدهای آماده ای نیستند که بتوان مستقیماً از آن ها استفاده کرد و تنها یکسری رویکرد یا نظریه برای حل چالش های عادی طراحی ارائه می دهند.
چرا باید از Design Pattern ها استفاده کنیم؟
دلیل استفاده از Design Pattern ها واضح است، چرا باید چرخ را دوباره اختراع کنیم؟ در حالیکه جواب های کاربردی، تست شده و مستند برای یکسری مسائل بازگشتی رایج داریم.
باید از design pattern ها برای طراحی و توسعه componentهایی استفاده کنیم که مجدداً قابل استفاده و مقیاس پذیر باشند و به تیم برنامه نویسی کمک کنند تا عملیات توسعه در زمان مقرر و با کیفیت بالاتری به انجام برسد. طراحی یک برنامه به شکل استاندارد یا تست شده به سایر توسعه دهنده گان و کسانی که قرار است کدهای برنامه را مرور کنند، اجازه می دهد تا به راحتی مفهوم کدهای نوشته شده را درک کنند.
چه زمانی باید از Design Pattern ها استفاده کنیم؟
استفاده از الگوهای طراحی شی گرا بدون ارزیابی صحیح باعث پیچیدگی غیر ضروری می شود. در شرایطی که به Design Pattern ها احتیاج ندارید می توانید با استفاده از اصول ساده طراحی OOP کار خود را به جلو ببرید. اینکه چه زمانی از آنها استفاده کنیم و یا چه زمانی استفاده نکنیم به خودمان بستگی دارد. هر Pattern درباره یک مشکل طراحی صحبت می کند و یک راه حل استاندارد برای آن ارائه می دهد. بنابراین قبل از استفاده از آنها کمی وقت برای تجزیه و تحلیل مسائل طراحی صرف کنید و سعی کنید آن را با توصیف های الگو تطبیق دهید.
به خاطر داشته باشید که نکته کلیدی در پیدا کردن الگوی صحیح، شناسایی و درک سناریویی است که هر الگویی سعی می کند به آن دست یابد.
به محض اینکه الگوی مناسب برای مسئله یا سناریوی خاص شما مشخص شد، می توانید از آن در طراحی نرم افزار خود استفاده کنید.
چه تعداد Pattern وجود دارد؟
هیچ عدد مشخصی برای تعداد Patternها وجود ندارد. چرا که این Patternها در طول زمان تکامل یافته و توسط سازندگان نرم افزارها مورد استفاده قرار گرفته و بررسی شدند. بررسی این الگوها توسط یک گروه چهار نفره منصوب به Gang Of Four انجام شد. علاوه بر این نگاهی بر اصول طراحی SOLID خواهیم داشت.
23 Pattern ارایه شده توسط گروه Gang Of Four به طور کلی پایه و اساس سایر الگوها در نظر گرفته می شوند. این الگوها در سه گروه Creational، Structural و Behavioral دسته بندی می شوند.
برای شروع با چند اصل اولیه طراحی نظیر کد نویسی تمیز clean coding، loose coupling ، طراحی modular و ... طراحی خود را آغاز کنید و چالش های طراحی را با مسائل شناخته شده و موجود در Design Pattern ها ارزیابی کنید. پس از آن، اگر به الگوی مناسبی رسیدید، ادامه دهید و در غیر این صورت به همان طراحی خودتان اکتفا کنید.
به عنوان آخرین نکته یادآور می شویم که هرگز برنامه خود را مجبور به استفاده از Design Pattern ها نکنید و تنها زمانی که به آن ها نیاز دارید به سراغ آن ها بروید.