이 질문에는 이미 답변이 있습니다.
싱글 톤은 객체의 인스턴스 하나만 허용한다는 것을 알고 있습니다. 싱글 톤에서 선언 된 각 메서드는이 개체에서만 작동합니다. 같은 목표를 달성 할 수있는 전 지구적인 목표를 단순히 선언하지 않는 이유는 무엇입니까?
나는 확실히 뭔가 잊고있다. 싱글 톤 (singleton)이 존재한다면 특정 메커니즘을 실현하기 위해 특정 용도 또는 도움이 있어야합니다.
예를 들면 :
class Singleton
{
public:
static Singleton& Instance()
{
static Singleton sg;
return sg;
}
void function();
};
같은 것입니다 :
class NotSingleton
{
public:
NotSingleon();
~NotSingleton()
void function();
};
NotSingleton nsg;
그러나 두 가지 이상의 인스턴스를 사용하는 것을 막을 수있는 방법은 없습니다.NotSingleton
Singleton은 하나 이상의 객체를 생성하고 싶지 않을 때 사용됩니다. 싱글 톤 클래스는 하나 이상의 객체가 생성되지 않도록합니다. 그러나 전역 개체를 사용한다고해서이를 보장 할 수는 없습니다.
Class Singleton{
public static Singleton object==null;
public void singleton(){
if(object==null)
object = new Singleton();
return object;
}
}
이 클래스는 둘 이상의 객체를 만들지 않습니다. 이것이 Singleton 클래스의 목적입니다.