2009년 11월 12일 목요일

Visitor Pattern

Visitor Pattern

Visitor : 방문자
데이터 구조 안에 많은 요소가 저장되어 있고, 그 각 요소에 대해서 무엇인가 '처리'해 간다고 가정합시다. 이때 그 '처리'의 코드는 어디에 써야 할까요? 일반적으로 생각하면 데이터 구조를 표시하고 있는 클래스 안에 기술할 것입니다. 그러나 만약 그 '처리'가 여러 종류라면 새로운 처리가 필요할 때마다 데이터 구조의 클래스를 수정해야합니다.
Visitor Pattern 에서는 데이터 구조와 처리를 분리합니다. 그리고 데이터 구조안을 돌아다니는 주체인 방문자를 나타내는 클래스를 준비해서 그 클래스에게 처리를 위임합니다. 그렇다면 새로운 처리를 추가하고 싶을 때에는 새로운 방문자를 만들면 됩니다. 그리고 데이터 구조는 문을 두드리고 있는 방문자를 받아들이면 됩니다.


예제 프로그램

클래스 다이어그램

 

출처 : Java 언어로 배우는 디자인 패턴 입문

// 자바소스는 앞에 올린 자료에서 구하실수 있습니다.

댓글 없음:

댓글 쓰기