When would you use the Builder Pattern?

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



 برای آشنایی بیشتر توجهتون رو به لینکی در سایت Stackoverflow با عنوان When would you use the Builder Pattern جلب میکنم. 
توجه داشته باشید که جواب دوم به این سوال مد نظر هستش وامیدوارم از خوندنش لذت کافی رو ببرید. 

 لینک های دیگر :
آپدیت
کدی که توی لینک نوشته شده بود رو با کمی تغییر به زبان #C برگردوندم و  توی گیت هاب گذاشتم.

\.Chehre

معرفی کتاب Clean Code

آیا این جملات برای شما آشنا هستن:
- این چه کدیه؟ این چه اسم گذاریه افتضاحیه؟ چرا این تابع اینجوریه؟ این چجور کلاس نوشتنیه؟
آیا شده بعد از چند ماه به کد خودتون نگاه کنید و بگید: یعنی من این کدها رو نوشتم؟!

به تصویر زیر نگاه کنید و بگید که کدوم "در" کد شما و یا کدی که دارید روش کار میکنید رو نشون میده و کد شما نسبت به فرمولی که در بالای تصویر نشون داده شده در چه وضعیتی قرار داره؟
 

تصویر بالا در مقدمه کتاب Clean Code نشون داده شده و از خواننده میخواد بگه که کدوم "در" کد خواننده کتاب رو نشون میده. کتاب Clean Code با چند جمله از بزرگان برنامه نویسی درباره کد تمیز شروع میشه، و با نحوه نام گذاری، کامنت گذاری، نحوه صحیح نوشتن توابع و کلاس ها، نحوه نوشتن تست ها و کدهای همروند ادامه پیدا میکنه. و در فصل آخر کتاب، نویسنده جمع بندی داره بر قوانین و روش هایی که در کتاب گفته. کتاب با قوانین و روش هایی که در خودش داره، سعی بر این داره که نتیجه فرمولی که در تصویر بالا(و در مقدمه کتاب) نشون داده شده رو به حداقل برسونه.

همونطور که گفتم، در فصل آخر کتاب، یعنی فصل 17 با عنوان Smells and Heuristics ، نویسنده جمع بندی داره بر قوانین و روش هایی که در کتاب گفته و اگر میخواهید که یک مرور کلی بر کتاب داشته باشید، یا وقت کافی برای خوندن کتاب ندارید، پیشنهاد میکنم این فصل رو حتما مطالعه کنید.

در سایت infoq یک مرور (Review) خیلی خوب درباره کتاب Clean Code نوشته شده که از لینک زیر میتونید بخونیدش:

مشخصات کتاب

نام:
Clean Code: A Handbook of Agile Software Craftsmanship
نویسنده :
Robert C. “Uncle Bob” Martin
درباره نویسنده :
آدرس کتاب در آمازون:

و در آخر امیدوارم از خوندن این کتاب لذت ببرید.
\.Chehre


جستجو