Papers/Design pattern

visitor pattern

tomato13 2007. 9. 2. 14:49

http://www.refactoring.com/catalog/replaceConditionalWithVisitor.pdf

http://en.wikipedia.org/wiki/Visitor_pattern

 

위의 링크 설명을 참조한다. 이해를 돕기 위해 부연하면 Visitor와 Visiable이란 클래스가 등장한다. 그리고 Visitable에는 구현하고자 하는 객체를 대표하는 subclass들이 inherit된다. Visitor에는 Visitable의 subclass들의 상태에 의존하여 각기 다르게 동작하는 subclass들이 inherit된다.

기본 시나리오는 아래와 같다.

 

1. Visitable의 subclass의 accept method를 사용하여 Visitor의 subclass를 등록한다.

(이때 visitor의 subclass는 자신이 visitable의 어떤 subclass와 연결되었는지 알게된다.)

2. 이제 Visitable의 subclass와 Visitor의 subclass는 pair로 매핑되어 동작하게 된다.

 

URL의 설명을 참조하고 위의 주석은 참고만 하기 바란다.

'Papers > Design pattern' 카테고리의 다른 글

Flyweight pattern  (0) 2007.12.18
Delegation pattern  (0) 2007.09.29
adapter pattern  (0) 2007.09.29
factory method  (0) 2007.07.08
singleton pattern  (0) 2007.07.07