Visitors
위임하는 과정에서 Visitor 를 설계하게 된다.
#
Visitor 의 등장인물#
1. care taker 보살핌을 받는 것- 원본 데이터 소스 구조
#
2. VisitorVisitor 에게 자기 자신을 주면 Visitor 가 자기 자신의 구조를 돌아주는 것.
- care taker 가 Visitor 를 소유하게 된다.
그렇다면 비지터에게 필요한 것은 무엇일까?
#
DomVisitor주어진 el 를 순회하는 제어 코드를 갖고 있다.
설계의 궁극적인 목표 → 제어의 역전
스캐너의 종류가 무엇이 됐든, DomVisitor 를 갖게 되면 DOM 에 대한 순회제어코드를 수행할 수 있다
Visitor 패턴
- 어려운 자료구조나 특정한 코드의 제어를 외부에서 완전히 유입이 된다.
- Visitor 를 통한 제어의 역전
- 코드 → 객체
- 역할때문이 아닌, 제어를 외부에 위임하기 위해서 객체로 바꾸었다.
DOM Loop 는 Scanner 만의 역할이 아니다.
- DOM 의 서브루프를 도는 모든 곳에서 쓸 수 있다.