{CodeGate}

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

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

  1. Interface در جاوا
  2. Abstract در جاوا
  3. آشنایی با متد
  4. آشنایی با Arraylist
  5. آشنایی با For
  6. آشنایی با شی گرایی

Creational Design Pattern

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

Builder پترن در جاوا

Builder پترن در جاوا یکی از شاخه‌های creational design pattern است. همانطور که از اسم آن نیز پیداست برای ساخت اشیا از این پترن استفاده می‌شود. هدف Builder پترن در جاوا ساخت اشیا پیچیده با استفاده از اشیا ساده است.

هر چه نرم‌افزار پیچیده‌تر باشد پیچیدگی کلاس‌ها و اشیا آن بیشتر می‌شود. در هنگاه ساخت اشیا پیچیده باید توجه و دقت ویژه‌ای داشت. نرم‌افزار ممکن است نیاز به مکانیزمی برای ساخت اشیا پیچیده‌ای داشته باشد که هنگام ساخت، شی وابسته به کلاس سازنده نباشد!! اگر شما با چنین مشکلی در برنامه خود روبرو هستید نیاز به استفاده از  Builder پترن دارید.

مثال Builder پترن در جاوا

برای درک بهتر این پترن یک مثال میزنیم! مثال ما شامل مراحل زیر است:

  1. یک interface به نام packing میسازیم.
  2. 2 کلاس abstract به نام company و cd میسازیم.
  3. دو کلاس Concrete به نام Sony و Samsung میسازیم.
  4. کلاس CDType را میسازیم.
  5. کلاس Cdbuilder را میسازیم.
  6. تست برنامه را مینویسیم.

کد کلاس‌ها و interface های توضیح داده شده به صورت زیر است:

Builder پترن در جاوا

توضیح دیاگرام Builder پترن

اگر به دیاگرام کد بالا توجه کنید. اولین نکته‌ای که متوجه می‌شوید تعداد زیاد کلاس است برای مسئله‌ای ساده!! همانطور که گفته شد Builder دیزاین پترن برای مسائل با تعداد اشیا بالا است. یک نکته ‌ای که توجه ما را جلب میکند نبودن interface در سطح پایین است فقط یک interface آن هم در لایه‌های بالایی. برای استفاده از این پترن حتما به این نکات توجه کنید!!

پسورد: www.codegate.ir

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

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

نظر شما چیست؟

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

wpDiscuz