[디자인 패턴] Visitor Pattern

2019. 1. 22. 21:57cs/디자인 패턴

Visitor Pattern


우리가 일반적으로 데이터의 정의를 하고 처리를 해줄 때 일반적으로는 데이터가 명시되어있는 곳에 처리 해줍니다. 만약 데이터의 종류가 여러 개라면 데이터 구조의 클래스를 수정해야 합니다. 


Visitor Pattern은 위와 같은 상황에서 data의 명시와 처리하는 과정을 분리합니다. 그리고 방문자를 만들어서 데이터의 처리를 위임합니다.


이렇게 따로 분리를 해준다면 데이터의 구조를 건드리지 않고도 새로운 동작을 추가할 수 있습니다. 


이전의 Composite Pattern의 예제를 빌려와서 사용해보겠습니다.