پیش نیاز: ویدیو آموزش متاکلاسها در پایتون
Singleton یک الگوی طراحی از نوع creational است که به شما امکان می دهد اطمینان حاصل کنید که از یک کلاس فقط بتوان یک آبجکت ایجاد کرد و دسترسی global به این آبجکت وجود داشته باشد.
# پیاده سازی الگوی Singleton
تمام پیاده سازی های Singleton دارای این دو مرحله مشترک هستند:
- سازنده کلاس(constructor) را در حالت خصوصی قرار داده تا از خارج کلاس نتوان به آن دسترسی داشت.
- یک متد معمولا با نام get_instance ایجاد کرده که به عنوان جایگزین سازنده استفاده میشود. در این متد، سازنده خصوصی را صدا زده و آبجکت برگشتی را در یک متغیر ذخیره میکنیم. سپس در فراخوانیهای بعدی کلاس، آبجکت ذخیره شده در متغیر را برمیگردانیم.
اگر کد شما به کلاس Singleton دسترسی دارد، میتواند متد Singleton را فراخوانی کند. بنابراین هر زمان که آن متد فراخوانی شود، همیشه همان شی برگردانده می شود.
ارسال نظر