پریسا جدیدی
پریسا جدیدی
خواندن ۲ دقیقه·۳ سال پیش

الگوی طراحی factory

factory method
factory method

الگوی factory یکی از پرکاربردترین pattern هایی هست که تا به حال ایجاد شده.همون طور که از اسمش میتونیم حدس بزنیم ، به ما این امکان رو میده که یک object رو بدون اینکه کلاس دقیق اون رو مشخص کرده باشیم ایجاد بکنیم و از اون به راحتی استفاده بکنیم.کاربرد اون وقتی مشخص میشه که ما میتونیم از یک interface مشترک برای چندین منطق جداگانه استفاده بکنیم.

کاربرد های factory pattern:

  • کلاس هایی داشته باشیم که از آنها شی‌های زیادی ساخته می‌شود. با این کار برنامه نویس دیگر اشیا را ایجاد نخواهد کرد بلکه تمام مسئولیت ایجاد کلاس را به Factory Method واگذار می‌کند.
  • قبل از ایجاد شی هایی که نرم افزار با آن‌ها کار می‌کند، نوع و وابستگی مربوط به آن‌ ها را ندانید.
  • می خواهید با استفاده از اشیا موجود و جلوگیری از ساختن دوباره آن ها، در منابع سیستم صرفه جویی کنید.

اپلیکیشن‌ها دارای تعداد خیلی زیادی کلاس هستند که از همه آن‌ها Object ساخته می‌شود. تصور کنید که اپلیکیشن شما دارای 100 کلاس باشد که از هر کدام از آنها باید به صورت میانگین 5 شی و نمونه ساخته شود. بنابراین در نرم افزار حدود 500 هزار شی از کلاس‌ها مختلف ساخته شده است. مثلا کلاسی مثل User که در سرتاسر اپلیکیشن مورد استفاده قرار می‌گیرد.

بنابراین اگر مثلا بخواهیم به Constructor مربوط به کلاس User پارامتری جدید اضافه کنیم، باید کلاس User را تغییر دهیم. این کار باعث می‌شود که در تمام پروژه، هر جایی که از آن کلاس شی ای ساخته شده است پارامتر جدید را مقداردهی و اضافه کنیم که کاری بسیار دشوار و زمان بر خواهد بود. اما با استفاده از الگوی طراحی Factory برای ساخت اشیا کارخانه ای خواهیم ساخت که وظیفه ساخت اشیا از کلاس‌های مختلف را بر عهده دارد. با این کار دیگر نیازی به ساخت شی‌ها با استفاده از کیورد new به صورت جداگانه نخواهیم داشت و کافی است برای ساخت اشیا از کارخانه ساخت آن کلاس استفاده کنیم.

بهترین راه برای درک بهتر این مطلب این هست که یه مثال از اون رو باهم بررسی کنیم:

  1. یه interface به اسم brand ایجاد میکنیم.
  2. باید مجموعه ای از کلاس‌های فرزند سازنده (creator) برای انواع اشیایی که کارخانه می‌سازد، تعریف شوند.
  3. یک کلاس جدید به اسم BreadFactory ایجاد می کنیم.





نمودار UML:

برای درک بهتر به نمودار UML زیر توجه کنید:

برای اینکه خودمون هم به صورت عملی بتونیم تست بکنیم

  1. در پروژه ی خودتون activity_main.xml رو باز بکنید.
  2. یک text view ایجاد کنید .
  3. در فایل MainActivity.java کد های مربوطه رو قرار بدید.





چیزی که در خروجی رو گوشی یبا امولاتور خود مشاهده میکنید به این شکل خواهد بود

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



factoryandroidjavadesign patternFactory Method
Android Developer
شاید از این پست‌ها خوشتان بیاید