الگوی factory یکی از پرکاربردترین pattern هایی هست که تا به حال ایجاد شده.همون طور که از اسمش میتونیم حدس بزنیم ، به ما این امکان رو میده که یک object رو بدون اینکه کلاس دقیق اون رو مشخص کرده باشیم ایجاد بکنیم و از اون به راحتی استفاده بکنیم.کاربرد اون وقتی مشخص میشه که ما میتونیم از یک interface مشترک برای چندین منطق جداگانه استفاده بکنیم.
کاربرد های factory pattern:
اپلیکیشنها دارای تعداد خیلی زیادی کلاس هستند که از همه آنها Object ساخته میشود. تصور کنید که اپلیکیشن شما دارای 100 کلاس باشد که از هر کدام از آنها باید به صورت میانگین 5 شی و نمونه ساخته شود. بنابراین در نرم افزار حدود 500 هزار شی از کلاسها مختلف ساخته شده است. مثلا کلاسی مثل User که در سرتاسر اپلیکیشن مورد استفاده قرار میگیرد.
بنابراین اگر مثلا بخواهیم به Constructor مربوط به کلاس User پارامتری جدید اضافه کنیم، باید کلاس User را تغییر دهیم. این کار باعث میشود که در تمام پروژه، هر جایی که از آن کلاس شی ای ساخته شده است پارامتر جدید را مقداردهی و اضافه کنیم که کاری بسیار دشوار و زمان بر خواهد بود. اما با استفاده از الگوی طراحی Factory برای ساخت اشیا کارخانه ای خواهیم ساخت که وظیفه ساخت اشیا از کلاسهای مختلف را بر عهده دارد. با این کار دیگر نیازی به ساخت شیها با استفاده از کیورد new به صورت جداگانه نخواهیم داشت و کافی است برای ساخت اشیا از کارخانه ساخت آن کلاس استفاده کنیم.
بهترین راه برای درک بهتر این مطلب این هست که یه مثال از اون رو باهم بررسی کنیم:
نمودار UML:
برای درک بهتر به نمودار UML زیر توجه کنید:
برای اینکه خودمون هم به صورت عملی بتونیم تست بکنیم
چیزی که در خروجی رو گوشی یبا امولاتور خود مشاهده میکنید به این شکل خواهد بود
امیدوارم این مطلب براتون مفید بوده باشه با آرزوی موفقیت برای شما عزیزان .شما میتونید سوالات خود رو کامنت کنید حتما پاسخ داده میشه.