티스토리 뷰
#include <iostream>
/******************
Singleton pattern
static 필드는 여러 객체에 의해서 값이 공유된다.
이러한 특징을 이용해서 static을 이용한 패턴이 존재하며 그 대표적인 것이 Singleton 패턴.
******************/
class cSingleton
{
private:
static cSingleton* mpSingle;
private:
cSingleton(){}
~cSingleton(){}
public:
static cSingleton* getSingleton()
{
if( mpSingle == NULL )
mpSingle = new cSingleton();
return mpSingle;
}
void test()
{
printf("hi\n");
}
};
cSingleton* cSingleton::mpSingle = NULL;
void main()
{
cSingleton::getSingleton()->test();
}
/* Singelton Pattern 사용 이유
운영체제에는 프린터에 출력을 작업을 수행하기 위하여 프린트 스풀러가 존재합니다.
스풀러의 역할은 여러 응용 프로그램에서 프린트를 요청할 시에 이를 관리하여
순서대로 프린트가 될 수 있도록 하는 것으로 프린트를 위한 큐(Queue)라고 생각하면 됩니다.
이 때 중요한 것은 프린트 스풀러는 오직 하나 만이 생성되어야 한다는 점입니다.
여러 개의 프린트 스풀러가 생성이 된다면 프린트 요청을 제대로 제어할 수 없기 때문입니다.
*/
'Programming > Design Pattern' 카테고리의 다른 글
Proxy Pattern (0) | 2015.02.11 |
---|---|
Template Method & Factory Method Pattern (0) | 2015.01.15 |