Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีสร้าง Singleton Class ใน Python

Singleton Pattern ให้ Strategy จำกัดจำนวน Instances ของ Class ให้เป็นหนึ่งเดียว ดังนั้น Object เดียวกันจะถูก Share โดยส่วนต่างๆ ของ Code เสมอ Singleton ถือเป็น Solution ที่ Elegant กว่า Global Variable เพราะ Actual Data ถูกซ่อนอยู่เบื้องหลัง Singleton Class Interface

โค้ดต่อไปนี้เป็นหนึ่งในหลายวิธีที่แตกต่างกันที่สามารถสร้าง Singleton Class ได้

class Singleton(object):
    _instance = None

    def __new__(class_, *args, **kwargs):
        if not isinstance(class_._instance, class_):
            class_._instance = object.__new__(class_, *args, **kwargs)
        return class_._instance

class MyClass(Singleton, BaseClass):
    pass

It's a true class