Singleton ialah corak reka bentuk yang memastikan hanya satu contoh kelas yang pernah dibuat. Berikut ialah cadangan untuk melaksanakan singleton dalam Python:
Gunakan Metaclass
Kaedah ini menawarkan beberapa kelebihan:
class Singleton(type): _instances = {} def __call__(cls, *args, **kwargs): if cls not in cls._instances: cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) return cls._instances[cls] class Logger(object): __metaclass__ = Singleton
Pembetulan kepada Kaedah Lain
Dalam jawatan asal, pelaksanaan kelas asas tidak betul. Ia memerlukan rujukan _instances pada kelas, menggunakan super(), dan membetulkan baharu untuk menjadi kaedah statik yang mengambil kelas sebagai hujah.
Bila Gunakan Singletons
Walaupun terdapat perdebatan tentang keinginan mereka, singletons sesuai untuk beberapa situasi:
Dalam senario yang dibentangkan, di mana pengelogan adalah kes penggunaan, corak tunggal ialah pilihan yang sesuai.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Corak Singleton dalam Python untuk Pembalakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!