Singleton Pattern

singleton-pattern

از این الگو زمانی استفاده می‌شود که قصد داشته باشید از یک کلاس خاص فقط و فقط یک شی در طول پروژه وجود داشته باشد و در تمامی قسمت‌های مختلف پروژه از این شی استفاده شود. با این الگو میتوان مفهوم Lazy Loading را نیز در طول پروژه پیاده‌سازی کرد. (به این معنی که بارگزاری کلاس مورد نظر در حافظه زمانی انجام می‌شود که اولین فراخوانی به آن کلاس انجام شود، و تا زمانی که اولین فراخوانی انجام نشود کلاس مورد نظر در حافظه بارگزاری نخواهد شد.) (بیشتر…)

ادامه مطلب

Prototype Pattern

prototype-pattern

با استفاده از این الگو به جای ایجاد متعدد یک کلاس در بخش‌های مختلف پروژه، میتوانید از اولین شی ایجاد شده، کپی‌برداری کنید. به این ترتیب که کلاس مورد نظر شامل متدی با نام clone می‌باشد. یکی از دلایل استفاده از این الگو این است که Client در گیر نحوه ایجاد کلاس اصلی نباشد و تنها در صورت نیاز، از کلاس مورد نظر یک کپی تهیه نماید. دلیل دیگر استفاده از این روش، افزایش نا محسوس سرعت اجرای برنامه می‌باشد. (بیشتر…)

ادامه مطلب

Factory Method Pattern

factory-method-pattern

این الگو همانند الگوی Abstract Factory میباشد با این تفاوت که هر کلاس Factory معمولاً تنها برای ایجاد یک کلاس خاص استفاده میشود. در برخی موارد کلاس Factory شامل یک متد استاتیک می‌باشد که وظیفه ایجاد کلاس مورد نظر بر اساس پارامتر ها را بر عهده دارد. (بیشتر…)

ادامه مطلب

Abstract Factory Pattern

abstract-factory-pattern

این الگو برای ایجاد کلاس‌های مشابه هم استفاده می‌شود تا وابستگی بین استفاده کننده (Client) و تأمین کننده کمتر شود. در‌واقع یک کلاس وظیفه ایجاد کلاس‌های دیگر را به عهده میگیرد. البته الزاماً این الگو شامل تنها یک کلاس سازنده نیست بلکه هر کلاس سازنده وظیفه ایجاد کلاس‌های مشابه هم را دارد و ممکن است در یک پروژه خاص چندین کلاس سازنده مختلف داشته باشیم. (بیشتر…)

ادامه مطلب

Builder Pattern

builder-pattern

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

ادامه مطلب

الگوهای طراحی چیست؟

designpattern

طی این مطالب سعی دارم به شرح الگوهای طراحی بپردازم. قبل از هر چیزی باید با مفهوم Design Patterns آشنا بشیم و بدونیم که دلیل وجود همچین الگوهایی چیه؟ در برنامه نویسی همه ما گاهی دچار مشکلات عجیب و غریبی می شیم که حل کردنشون زمان زیادی ازمون میگیره. برخی از این مشکلات هستند که خیلی بین برنامه نویسان متداولند. برای همین منظور الگوهای طراحی یا Design Patterns به وجود اومدند که هر کدوم از این الگو ها به منظور برطرف کردن مشکلات متداول برنامه نویسی ایجاد شدن. (بیشتر…)

ادامه مطلب