سوال اول

Creational design patterns

تمرکز این روش ها بر نحوه ایجاد شی است و هدف آن ها ایجاد شی مناسب و موفقیت آمیز است. چگونگی ایجاد شی میتواند بر پیچیدگی برنامه اثر گذار باشد ویا مشکلاتی در طول برنامه ایجاد کند از این رو این روش ها مهم هستند.

Structural design patterns

این روش ها تلاش میکنند با شناسایی روابط بین ساختار های شی بزرگ طراحی را ساده‌تر کنند. روش های متداول ترکیب کلاس ها و اشیا در این الگو های مطرح میشود.

Behavioral design patterns

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

سوال دوم

در دسته Creational design patterns

سوال سوم

Gof الگو هایی هستند که هر کدام برای یک مسئله خاص به وجود آمده اند و راه حالی برای آن مسئله اند. اما SOLID مجموعه ای از اصول است که رعایت کردن آن ها مختص مسئله خاصی نیست و در هر زمینه ای قابل رعایت کردن است.

سوال چهارم

شرط open/close را نقض میکند. کلاس singelton اگر بخواهد باز باشد، باید بتوان از او فرزند ساخت در این حالت میتواند فرزند های مختلف از این کلاس گرفت و از هر کدام یک نمونه تولید کرد که این با تعریف singelton تناقض دارد. پس singelton نمیتواند open باشد.

گزارش

الگوی اول را مشابه چیزی که داخل ویدئو هابود پیاده‌سازی کردیم. الگوی سوم نیز نزدیک به مثال داخل ویدئو ها است البته برای ساخت انسان. الگوی دوم نیز برای ایجاد یک درخت سیب ساخته شده است.

ترتیب مراحل در کامیت ها قابل مشاهده است.

عرفان معینی - 97110206

علی شفیعی - 97110122