Strategy

가상 함수 대신에 쓸 수 있는 다른 방법으로 NVI 관용구 및 전략 패턴이 있다. 이 중 NVI 관용구는 그 자체가 템플릿 메서드 패턴의 한 예이다. 객체에 필요한 기능을 멤버 함수로부터 클래스 외부의 비멤버 함수로 옮기면, 그 비멤버 함수는 그 클래스의 public 멤버가 아닌 것들을 접근할 수 없다는 단점이 생긴다. tr1::function 객체는 일반화된 함수 포인터처럼 동작한다. 이 객체는 주어진 대상 시그니처와 호환되는 모든 함수 호출성 개체를 지원한다. 가상 함수 대체 방법 가상 함수 대신 사용할 방법들이 몇 가지 있다. 게임 캐릭터 클래스를 설계하는 상황을 가정해 보자. class GameCharacter { public: virtual int healthValue() const; ... }..
hvv_an
'Strategy' 태그의 글 목록