Abstract Factory پترن در جاوا (دیزاین پترن در جاوا)

در این قسمت تیم کدگیت را با آموزش Abstract Factory پترن در جاوا همراهی کنید. پیش نیاز های این آموزش شامل موارد زیر است:

  1. آشنایی با شی گرایی
  2. آشنایی با متد static
  3. آشنایی با متد
  4. آشنایی با if
  5. آشنایی با abstract
  6. آشنایی با interface
  7. دیزاین پترن

Creational Design Pattern

یکی از زیر شاخه های دیزاین پترن Creational Design Pattern هست. این پترن راهی برای ساخت اشیاست. وقتی از این الگو استفاده میشود که ما میخواهیم در برنامه خود از یک کلاس یک شی را بسازیم. اما برای بسیاری ممکن است ساخت شی بسیار ساده باشد و فقط با new کردن ما یک شی را بسازیم. اما hard code راه حل خوبی نیست!! زیرا ما بعضی اوقات در کد خود هویت یک کلاس را عوض کنیم و در این گونه اوقات ما باید از Creational Design pattern استفاده میکنیم.

Abstract Factory پترن در جاوا

الگوی Abstract Factory یکی از زیر شاخه های Creational Design Pattern است. این الگو را گاهی Factory of Factory نیز میگویند. در آموزش قبل ما در مورد Factory پترن صحبت کردیم. حال Abstract Factory برای تولید کارخانه ای از کارخانه هاست. قبل از توضیح اضافی ایده پشت این پترن را بخوانید.

برنامه نویسی ماژولار یکی از مشکلات امروز دنیای برنامه نویسی است. برنامه نویسان جهان در تلاش هستند که از اضافه کردن کد به یک کلاس برای رسیدن به هدف encapsulation جلوگیری کنند. برای مثال مدیریت شماره تلفن ها را در نظر بگیرید. شماره تلفن ها هر محله تا کشور کد مختلفی دارند و قابل تمایز هستند. ما میخواهیم نرم‌افزاری برای شماره تلفن ها بنویسیم. حال فرض کنید یک کشور جدید را بخواهیم اضافه کنیم، قطعا مسئله کد زنی برای آن پیچیده تر خواهد شد و ما را دچار مشکل خواهد کرد. برای اینکه از این مشکلات جلوگیری کنیم از پترن abstract factory استفاده میکنیم.

Abstract Factory Pattern یک interface یا کلاس abstract در خود دارد که خانواده ای از اشیای مرتبط را به ما میدهد یا بر میگرداند یا به اصطلاح دیگر کارخانه ای از کلاس ها را به ما میدهد به همین دلیل گاهی اوقات این پترن را یک سطح بالاتر از Factory در نظر میگیرند.

Abstract Factory پترن در جاوا

مثال Abstract factory پترن در جاوا

در این قسمت به پیاده سازی مثالی Abstract Factory پترن در جاوا میپردازیم.مانند آموزش پترن Factory (منظور Abstract Factory نیست!! در آموزش قبلی این پترن توضیح داده شده) ما یک interface به نام Shape داریم. سه کلاس داریم به نام Rectangle و Square و Circle که Shape را implements میکنند. دقیقا شبیه به همین کلاس ها ما یک interface داریم به نام Color که سه کلاس Red و Blue و Green آن را implements کرده اند. کد آنها به صورت زیر است:

یک کارخانه برای ساخت Shape و یک کارخانه برای ساخت Color داریم.کد آن به صورت زیر است:

ساخت Abstract Factory

کدهای بالا را که زدیم برای رسیدن به این قسمت بود. این قسمت ما یک کلاس abstract میسازیم به نام Abstract Factory و در کلاس Factory Producer از آن استفاده میکنیم.کد آن به صورت زیر است:

ما کارخانه ای از کارخانه های خود را ساختیم. برای تست کدهای بالا،کد main زیر را بزنید:

پسورد: www.codegate.ir

 

دسته : design pattern, java, جاوا, دیزاین پترن

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz