گروه نرم افزاری هیلتن

مهندسی نرم افزار : الگوی طراحی

الگوی طراحی Builder



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

هدف
جدا کردن دستورالعمل تولید یک محصول ازکسی که محصول را تولید می کند و نظارت بر نحوه تولید، توسط یک مدیر به منظور این که بتوان همان محصول را به شکل متفاوت با قابلیت های متفاوت تولید کرد.

انگیزه
شاید محصول ها متفاوت باشند اما فرایند تولید متفاوت نیست.

کاربرد
• تولید یک شی پیچیده از اشیای دیگر به صورت مستقل
• کنترل دقیق بر نحوه ساخت اشیا

ساختار

کلاس دیاگرام الگوی Builder

اجزا
Builder: کلاس انتزاعی که ساختار کلی Builderها را نمایش میدهد.
Director: کلاسی که یک Builder دریافت می کند و به او فرمان می دهد چگونه محصول را تولید کند.
Product: محصول پیچیده ای که قرار است تولید شود.
Concrete builder: برای ساخت و اسمبل کردن یک نوع محصول کامل به کار می رود از این رو از این یک بار نوشته می شود.

الگو های مرتبط:
-برای تهیه قسمت های الگوی Builder از الگوهای Factory Method و Abstract Factory استفاده کرد.

پیامد:
2-نیازی به یک کلاس انتزاعی برای محصول یا واسطی مانند Iproduct که ساختار آن را تعریف کند نیست.

نقاط قوت:
الگوی Builder فرایندساخت کپسوله سازی می کند. در نتیجه کلاینت درگیر نحوه ساخت اشیا نمی شود.

نقاط ضعف:
تعریف انتزاعی روند ساخت یک محصول به صورت مرحله به مرحله کار ساده ای نیست.







گروه برنامه نویسی هیلتن

گروه برنامه نویسی هیلتن