Software Engineering/Design Pattern
템플릿 메소드 패턴 (Template method)
엘키
2008. 2. 3. 10:25
함수 동작 방식은 부모 클래스에서 정의 되고, 세부적인 처리 방법은 자식 클래스에서 재정의 하는 것을 템플릿 메소드 패턴이라고 합니다.
각 클래스 마다 고유한 같은 인터페이스를 제공하면서도, 다른 동작을 하기 위한, 객체 지향 프로그래밍에서의 다형성을 나타내는 대표적인 패턴이라고 할 수 있습니다.
class ItemOption { virtual bool isUseItem(){return true;} //아이템이사용가능한상태인지 virtual bool Use(){return true;} //아이템사용 virtual bool Act() { if(!isUseItem()) return false; return Use(); } }; class ItemOptionHeal : public ItemOption { virtual bool isUseItem() { //언제나아이템사용가능상태이기에return true return true; } virtual bool Use() { //체력회복. return true; } }; class ItemOptionCurePoison : public ItemOption { virtual bool isUseItem() { //언제나아이템사용가능상태이기에return true return true; } virtual bool Use() { //독치료기능사용 return true; } };