يضمن نمط Singleton أن تحتوي فئة على مثيل واحد فقط ويوفر نقطة وصول عامة له. يُستخدم عندما يجب أن يُنسّق كائن واحد بالضبط شيئًا ما (إعدادات، مجمع الاتصالات، logger)، على الرغم من أنه أيضًا مثير للجدل إلى حد ما.
ما يفعله Singleton
SINGLETON → guarantee a class has only ONE instance, with global access to it:
→ the class controls its own instantiation (private constructor)
→ returns the SAME instance every time it's requested
→ for: things there should only be ONE of, accessed from many places
مثال
{
#instance;
() {
(!.#instance) {
.#instance = ();
}
.#instance;
}
}
