모노스테이트 패턴 Monostate pattern
모노스테이트는 싱글턴 패턴의 변형이다. 모노스테이트는 겉보기에는 일반 클래스와 동일하나 동작은 싱글턴처럼 한다. #ifndef _monostate_h_ #define _monostate_h_ class Printer { private: static int id; public: int get_id() const { return id; } void set_id(int value) { id = value; } }; #endif // _monostate_h_ 언뜻 보기에는 보통 클래스처럼 보이지만 static 데이터를 이용하여 get/set 멤버가 구현되어 있다. 무언가 괜찮은 트릭으로 보이지만 문제가 있다. 사용자는 일반 클래스인 것으로 알고 Printer의 인스턴스를 만들지만 실제로는 모든 인스턴스가 같은 ..
컴퓨터 언어/디자인패턴
2021. 5. 7. 11:36