برای این کار باید دو کار زیر را با استفاده از امکانات یک زبان برنامه نویسی شئ گرا انجام دهید:
-
امکان نمونه سازی (ایجاد شئ) از کلاس مورد نظر شما وجود نداشته باشد (برای مثال با private کردن constructor)
-
کلاس یک متد در سطح کلاس (بدون وابستگی به شئ، برای مثال static) داشته باشد که مقدار بازگشتی آن همیشه یک شئ واحد باشد.
برای جزئیات بیشتر به دیاگرام UML زیر توجه کنید:
کد زیر نیز پیاده سازی یک کلاس Singleton ساده به زبان برنامه نویسی جاوا است:
public class ClassicSingleton {
private static ClassicSingleton instance = null;
protected ClassicSingleton() {
}
public static ClassicSingleton getInstance() {
if(instance == null) {
instance = new ClassicSingleton();
}
return instance;
}
}