সিঙ্গলটন প্যাটার্ন ক্লাসের ইনস্ট্যান্স সংখ্যা একটিতে সীমিত রাখার Страটেজি প্রদান করে। তাই একই অবজেক্ট সবসময় কোডের বিভিন্ন অংশের দ্বারা শেয়ার্ড থাকে। সিঙ্গলটন গ্লোবাল ভেরিয়েবলের চেয়ে বেশি এলিগ্যান্ট সমাধান কারণ আসল ডেটা সিঙ্গলটন ক্লাস ইন্টারফেসের পেছনে লুকানো থাকে।
নিচের কোড সিঙ্গলটন ক্লাস তৈরির অনেক উপায়ের একটি:
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 এটি একটি সঠিক ক্লাস।