Study/Design Pattern 2

싱글톤 패턴(Singleton Pattern)

개요 싱글톤 패턴(Singleton Pattern)은 오직 한 개의 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공하는 패턴이다. 구조는 아래와 같다. 싱글톤이 되려고 하는 클래스는 Singleton 클래스를 상속 받으면 된다. 구현 구현 방법은 상황에 따라 달라질 수 있으므로 아래의 코드는 정답이 아니라 참고 정도로 여겨야 한다. 모던 C++ template class Singleton abstract { public: Singleton(const Singleton&) = delete; Singleton(Singleton&&) = delete; Singleton& operator=(const Singleton&) = delete; Singleton& operator=(Singleton&..

템플릿 메서드 패턴(Template Method Pattern)

개요 템플릿 메서드 패턴(Template Method Pattern)은 알고리즘의 뼈대를 정의하고 각 단계에서 수행할 구체적 처리는 서브클래스에서 하는 패턴이다. 구조는 아래와 같다. 템플릿 메서드 패턴의 구조 TemplateMethod()에서 알고리즘의 뼈대를 정의하고 각 단계에서의 연산을 가상 함수로 만들어, 서브클래스에서 오버라이딩한다. 이 중 기본 행동을 제공하는 가상 함수를 훅 연산(Hook Operation)이라고 한다. 자주 사용되는 패턴이다. 특히 게임 엔진 사용할 때 Unity의 이벤트 함수 순서라던가 Unreal의 Actor 라이프 사이클 등이 그것이다. Unity나 Unreal은 이미 함수를 호출할 순서를 정의해놓고 우리가 사용할 때는 그것을 오버라이딩 하여 사용한다. using Un..