HamidReza Ireh

حمیدرضا ایره

HamidReza Ireh

حمیدرضا ایره

حوزه: Object
هدف: Structural
نقش الگو
GOF(Gang of Four) این الگو را به این شکل تعریف کرده‌اند که "با استفاده از Builder Pattern، ساختار (construction) اشیاء پیچیده را از نمایش (representation) آن جدا می‌کنیم. بنابراین می‌توان با یک فرایند ساخت، چند نمایش مختلف ایجاد کرد ". همانطور که از نام آن مشخص است، از این الگو برای ساخت اشیاء به صورت جزء به جزء یا به عبارت دیگر مرحله به مرحله استفاده می‌شود. منطق پیچیده ساخت شی از client جدا شده است و client با ارسال مجموعه‌ای از جزئیات، شی و اطلاعات مورد نیاز را بدست می آورد.

حوزه: Object / Class
هدف: Structural
نقش الگو
همان گونه که از اسم این الگو مشخص است، هنگامی که دو کلاس واسط(Interface) های غیرمرتبط با یکدیگر داشته باشند این الگو واسط یکی را به دیگری تبدیل می‌کند که بتوانند با یکدیگر ارتباط برقرار کند. از این الگو که یک الگوی ساختاری است زمانی استفاده می‌شود که بخواهیم در یک برنامه، دو کلاس غیرمرتبط با یکدیگر کار کنند.

DRY مخفف Don’t repeat yourself به معنی خودت را تکرار نکن! اما چرا باید در برنامه نویسی این اصل را رعایت کرد؟ وقتی شما مجبور شدید برای اصلاح یک قسمت از برنامه، چند قسمت از کدتان را تغییر بدید، دقیقا برعکس DRY عمل کرده‌اید. بیایید فرض کنیم که یک وب سایت یا برنامه نوشتیم که در چند بخش مختلف آن فرم ثبت نام مشابه داره.

مقدمه
SOLID مخفف چند مفهوم مختلف هست که فهم این مطالب میتواند شما را در هنر برنامه نویسی به سطح پیشرفته‌تری برساند.
S مخفف Single responsibility principle یا SRP به معنی اینکه هر کلاس بایستی فقط یک کار انجام دهد نه بیشتر.
O مخفف Open/closed principle یا OCP به معنی اینکه کلاس‌ها جوری نوشته بشن که قابل گسترش باشند اما نیاز به تغییر نداشته باشند.

حوزه: Object

هدف: Creational

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

حوزه: Object

هدف: Creational

نقش الگو
همانطور که در الگوی طراحی Factory Method مشاهده شد، این الگو یک عیب دارد، آن هم این است که از کدام Creator باید استفاده شود و مستقیما در کد بایستی ذکر شود. برای حل این مشکل می‌توانیم سراغ الگوی طراحی دیگری برویم که Abstract Factory نام دارد. این الگوی طراحی 4 بخش اصلی دارد.