디자인패턴

Design Patterns/Creational Patterns

Singleton Pattern (C++)

Sigletone Pattern (C++) 목적 프로그램 내에서 어떤 클래스가 오직 한 개의 인스턴스만 갖도록 보장하고 접근 할 수 있는 인터페이스를 제공한다. 자주 사용되지만 여러 인스턴스가 생성될 필요가 없는 경우 사용된다. (예 dbconnection, networking, config ...) c++에서 쓰레드 안전성을 위해 local static 변수를 활용하여 static Instance() 인터페이스를 구현했다. 전역 변수와 차이가 없어보이나 다음과 같은 이점이 있다. 1. 인스턴스를 인터페이스를 통해 유일하게 접근함. 2. name space를 좁혀줌 그러나 싱글톤을 남용할 경우 클래스간의 결합도가 커지는 문제점이 있다. 사용 시나리오 프로그램 내에서 네트워크에 접속하고 종료하는 기능을 하..

Design Patterns/Creational Patterns

Prototype Pattern (C++)

Prototype Pattern (C++) 목적 현재 객체를 복사하여 (속성값이 동일한 또는 거의 유사한)새로운 객체를 생성한다. java에서 clonnable 인터페이스(아래의 prototype class)와 동일하다. clone함수를 구현할 때 얕은 복사를 주의해야한다. 사용 시나리오 포토샵이나 ppt에서 도형을 복사하는 시나리오가 있다. 각각의 도형은 현재 도형의 바로 옆(x축으로 +1만큼 이동)에 생성 된다. [Prototype] class ShapePrototype { public: virtual ShapePrototype* clone() = 0; }; [ConcretePrototype] class Circle : public ShapePrototype { public: Circle(int x..

자유로운 범고래
'디자인패턴' 태그의 글 목록 (2 Page)