달력

032010  이전 다음

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
Visitor Pattern

1. 컨텍스트
객체의 요소에 대해 수행하는 오퍼레이션을 나타낸다. Visitor는 자신의 오퍼레이션의 대상이 되는 요소를 갖는 클래스를 수정하지 않고 새로운 오퍼레이션을 정의하는 것을 가능하게 한다.

2. 적용 영역
l        객체의 구조를 정의하는 클래스가 잘 변하지 않으나, 이러한 구조 상에서 새로운 오퍼레이션을 정의하고자 하는 경우
l        하나의 객체에 대해서 관련이 적은, 상이한 오퍼레이션을 수행할 필요가 있는 경우, 이러한 오퍼레이션에 의해 클래스가 난잡하게 되는 것을 막기 위해 사용한다.

3. 구조

4. 적용 결과
l        새로운 오퍼레이션 추가가 용이하다.
l        Visitor는 관련 있는 오퍼레이션을 묶고, 관련이 적은 오퍼레이션을 분리시킨다.
l        Visitor의 사용은 ConcreteElement 인터페이스가 내부 상태에 접근할 수 있는 공개된 오퍼레이션 제공을 요구하여, 캡슐화(encapsulation)를 약화시킨다.

5. 관련 패턴
l        Visitor 패턴은 Composite 패턴에 의해 정의된 객체 구조에 대해 오퍼레이션을 적용하는데 사용될 수 있다.
l        Visitor 패턴은 Interpreter 역할 수행을 위해 적용될 수 있다.

6. 참고 문헌
온라인
위키 피디아: Visitor
자바월드 아티클: Reflect on the Visitor design pattern

서적 안내
Design Patterns: Elements of Reusable Object-Oriented Software

Head First Design Patterns
에릭 프리먼 외 지음,
서환수 옮김
한빛미디어

GOF의 디자인 패턴
Erich Gamma 외 지음,
김정아 옮김
피어슨에듀케이션코리아
이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 영회