본문 바로가기

이론/디자인패턴2

2. 브릿지(Bridge) 패턴 - 개념구현부에서 추상층을 분리하여 각자 독립적으로 변형할 수 있게 하는 패턴이다.쉽게말하면 게임에서 플레이어가 무기를 사용하는 함수를 만들어야 한다고 해보자.무기가 하나는 아닐 것이기 때문에 각각의 무기마다 사용해하는 함수를 만들어야 할것이다.class Player{public:void useSword();void useGun();void useBow();} 이렇게 코드를 작성할 경우 코드가 지저분해지게 되어 가독성이 떨어지게 되며 유지보수 시 문제를 겪게 될것이 당연하다. 더 나아가 Player가 여러 캐릭터로 분화 될 경우 각각의 캐릭터마다 이러한 함수들을 만들게 되야 할 것이고 좋지 못한 코드가 된다.그래서 브릿지 패턴을 사용하게 되는데 브릿지 패턴의 경우 다음과 같이 코드를 작성 할 수 있다. .. 2015. 7. 24.
1. 싱글톤(Singleton)패턴 1. 목적지정한 클래스의 인스턴스가 꼭 하나만 있어야 할 경우 이를 보증하고 싶을 때 사용(한 클래스의 인스턴스가 1개밖에 존재하지 않는 프로그램 상에서 표현하고 싶을 때) ex) 현재의 시스템 설정을 표현할 클래스, 게임 상의 각종 매니저 클래스들(오브젝트 매니저, 타임 매니저) 2. 구현class SingletonExam { private: SingletonExam(void); ~SingletonExam(void); public: SingletonExam* GetInstance(void) { static SingletonExam* pInstance; if(pInstance == NULL) pInstance = new SingletonExam; return pInstance; } } 2015. 6. 13.