آشنایی با انواع الگوهای طراحی در برنامه نویسی
الگوهای طراحی یا همان Design Pattern ها روشی هستند که باعث می شوند ساختار پروژه ما ساده , قابل گسترش و موثر تر باشند.
در واقع برای اینکه شما یک برنامه نویس حرفه ای باشید علاوه بر مهارت های برنامه نویسی و کدنویسی نیاز دارید که یک سری مهارت های جانبی نیز بلد باشید که استفاده از معماری و الگوی طراحی مناسب یکی از آنهاست.
الگوهای طراحی و معماری نرم افزار وابسته به زبان خاصی نیست و شما میتوانید تمام این الگوهایی که جلوتر درباره آنها صحبت میکنیم و در زبان دارت پیاده سازی کنید.
دیزاین پترن ها به ما در حل مشکلات برنامه نویسی و اضافه کردن قابلیت استفاده مجدد از کد ها کمک زیادی می کنند.
الگوهای طراحی پرکاربرد شامل موارد زیر می باشد:
- Builder pattern
- Prototype pattern
- Factory Method pattern
- Abstract Factory pattern
- Singleton pattern
در ادامه مطلب به بررسی کوتاهی از هر یک از الگوها میپردازیم.
Builder pattern
در این الگو سعی شده از که متد های سازنده پیچیده اجتناب شود. در واقع باید برای اینکار متد های سازنده یا همان Constructor هایی که پارامترهای ورودی زیادی دارند را بیخیال بشید. پارامتر های زیادی انعطاف پذیری کدهای کلاس شما را کم می کنند و باعث سردرگمی می شوند.
برای مثال یک کلاس Person داریم که فیلد های زیادی مانند اسم,سن, رنگ مو,نام خانوادگی,شغل, نام پدر و مادر و … دارد اگر یک متد سازنده برای این کلاس ایجاد کنید پارامتر های فوق العاده زیادی نیاز هست, یکی از روش های جلوگیری از این کار ساختن متد های سازنده مختلف هست.
برای مثال شما یک آبجکت از کلاس Person قرار هست بسازید ولی فقط میخواهید دوتا از فیلد های اسم و سن را مقداری دهی کنید که ساختن متدهای مختلف اینجا برای شما کاربرد دارد.
البته روش بالا مشکلاتی هم دارد که یکی از آنها ساختن تعداد زیادی کانستراکتور هست به این الگو
telescoping constructor می گویند.
با استفاده از Builder Pattern این ساختار پیچیده و ساده تر می میکنیم.
Builder Pattern به ما کمک میکنه که آبجکت های پیچیده خودمون با ساختن آبجکت های ساده تر ایجاد کنیم.
Prototype pattern
پروتوتایپ معمولا شامل ساختن یک کپی از آبجکت هست. زمانی از این الگو استفاه می کنیم که میخواهیم یک آبجکت جدید بسازیم که شبیه آبجکتی هست که قبلا ایجاد کرده ایم.
زمانی که ساختن یک آبجکت جدید باعث مصرف مموری شود پروتوتایپ به کمک ما می آید که باعث می شود برنامه سریعتر و کدها کمتر شوند.
Factory
از الگوی فکتوری زمانی استفاده میکنیم که میخواهیم یک آبجکت بسازیم ولی دقیقا نمیدانیم که ماهیت این آبجکت چه چیزی است.
در این روش یک واسط که میتواند اینترفیس یا کلاس abstract باشد با Factory Method در ارتباط است که نقش کلاس آبجکت های مارا تعیین می کند.
Singleton
زمانی که نیاز دارید تا مطمئن شوید از کلاسی که در اختیار دارید فقط یک آبجکت ساخته خواهد شد از الگوی سینگلتون استفاده می کنیم.
برای مثال کلاسی دارید که به دیتابیس متصل می شود و یا یک راه ارتباطی با منابع خارجی مثل پرینتر هست و میخواهید فقط یک آبجکت به این کارها دسترسی داشته باشد.
دیدگاهتان را بنویسید