این الگو برای ایجاد کلاس‌هایی استفاده می‌شود که یا پیچیدگی زیادی دارند و یا تعداد پارامتر های آن‌ برای ایجاد کلاس زیاد و پیچیده باشد. به طور کلی به جای ایجاد کلاس به صورت تک مرحله‌ای، کلاس مربوطه به صورت مرحله به مرحله و با ارسال پارامتر در مرحله های مختلف ایجاد می شود.

به عنوان مثال فرض کنید که وارد رستورانی می‌شوید و یک پیتزا سفارش می دهید. پیشخدمت سفارش شما را دریافت کرده و پس از مدتی یک پیتزا روی میز شما حاضر میشود. این مثال همان ایجاد تک مرحله‌ای یک کلاس است. حال فرض کنید وارد رستوران شدید و به پیشخدمت فرمان دادید که پیتزایی برای شما آماده کند که پیاز در آن به کار نرفته باشد، فلفل نداشته باشد و … پیشخدمت فرامین شما را منتقل کرده و یک پیتزای سفارشی آماده میکند. در این مثال شما از الگوی Builder استفاده کرده اید. برای روشن شدن بیشتر موضوع تصویر زیر را در نظر بگیرید :

builder-pattern

در این الگو یک کلاس به عنوان Director داریم که به کلاس Builder دستورات لازم برای ایجاد کلاس را می‌دهد و در نهایت کلاس مورد نظر ایجاد میشود. اگر بخواهیم مثالی از دنیای واقعی بزنیم، برای ایجاد یک XML یا ایجاد یک صفحه HTML و یا ایجاد یک پرس و جوی پایگاه داده میتوان از این الگو استفاده کرد، چرا که پارامتر های زیادی در ایجاد این کلاس‌ها دخالت دارند.

نمونه کد با زبان PHP :

در چند خط انتهایی کد(Client) نحوه ایجاد Builder و Director و فراخوانی متدهای Director برای ایجاد کلاس مورد نظر، قابل مشاهده است.

 

منبع سورس :

https://sourcemaking.com

محمد باقر رستمی

برنامه نویسی رو دوست دارم و از کارم و بیشتر از اون از یادگرفتن لذت می برم. دوست دارم از این طریق برای مردم دنیا مفید باشم. فارغ از رنگ، نژاد، ملیت و جنسیت.

Latest posts by محمد باقر رستمی (see all)

facebooktwittergoogle_pluslinkedin

دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

*