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

เราจะสร้างคลาสซิงเกิลตันใน Python ได้อย่างไร


รูปแบบซิงเกิลตันมีกลยุทธ์ในการจำกัดจำนวนของอินสแตนซ์ของคลาสเป็นหนึ่ง ดังนั้นอ็อบเจกต์เดียวกันจึงถูกแชร์โดยส่วนต่างๆ ของโค้ดเสมอ Singleton ถือได้ว่าเป็นโซลูชันที่หรูหรากว่าสำหรับตัวแปรส่วนกลาง เนื่องจากข้อมูลจริงถูกซ่อนอยู่หลังอินเทอร์เฟซของคลาส Singleton

โค้ดต่อไปนี้เป็นหนึ่งในวิธีสร้างคลาสซิงเกิลตันได้หลากหลายวิธี

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

มันคือคลาสที่แท้จริง