دیزاین پترن Singleton Pattern

بازدید: 49 بازدید

دیزاین پترن Singleton Pattern یکی از الگوهای طراحی نرم‌افزار است که در برنامه‌نویسی مورد استفاده قرار می‌گیرد. این الگو هدفش این است که یک کلاس را به گونه‌ای طراحی کند که فقط یک نمونه از آن کلاس در کل برنامه وجود داشته باشد و این نمونه قابل دسترسی عمومی باشد. این کار برای مواقعی کاربرد دارد که نیاز به ایجاد یک نمونه یکتا از یک کلاس داریم، مانند کلاسی که مسئولیت مدیریت اتصال به پایگاه داده را داشته باشد یا مدیریت تنظیمات برنامه و …

در PHP، می‌توانید یک Singleton Pattern ایجاد کنید. اینجا یک مثال از الگوی Singleton در PHP است:

				
					class Singleton {
    private static $instance = null;
    public $data;

    private function __construct() {
        $this->data = 'این یک مثال از Singleton Pattern در PHP است.';
    }

    public static function getInstance() {
        if (self::$instance === null) {
            self::$instance = new Singleton();
        }
        return self::$instance;
    }
}

// استفاده از الگوی Singleton
$singletonInstance1 = Singleton::getInstance();
echo $singletonInstance1->data; // خروجی: این یک مثال از Singleton Pattern در PHP است.

// در دسترس بودن instance به صورت یکتا
$singletonInstance2 = Singleton::getInstance();
echo $singletonInstance2->data; // خروجی: این یک مثال از Singleton Pattern در PHP است.

// تغییر مقدار در یک نمونه تاثیرگذار بر سایر نمونه‌هاست
$singletonInstance1->data = 'تغییر یافت!';
echo $singletonInstance2->data; // خروجی: تغییر یافت!

				
			

در این مثال، کلاس Singleton دارای یک متغیر استاتیک خصوصی به نام $instance است که نمونه‌ی کلاس را نگهداری می‌کند. متد getInstance از طریق بررسی وجود نمونه (null بودن $instance)، یک نمونه از کلاس ایجاد می‌کند و در صورت وجود، همان نمونه را برمی‌گرداند.

به این ترتیب، می‌توانید هر جا که نیاز به استفاده از این نمونه یکتای کلاس داشته باشید، از متد getInstance استفاده کنید و همواره به یک نمونه از کلاس Singleton دسترسی داشته باشید.

۵/۵ - (۱ امتیاز)

مطالعه بیشتر