티스토리 뷰

Programming/Design Pattern

Singleton pattern

군자동꽃미남 2015. 1. 25. 21:15

#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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함