sungwony

[디자인 패턴] Visitor 패턴 본문

development/디자인패턴

[디자인 패턴] Visitor 패턴

일상이상삼상 2018. 8. 13. 18:46

Visitor Pattern


방문자 패턴(Visitor Pattern)이란 무엇입니까?

- 방문자 패턴에서는 데이터의 구조와 처리를 분리합니다. 데이터 구조 안을 돌아다니는 주체인 '방문자'를 별도의 클래스로 준비해서 그 클래스에게 처리를 위임합니다.




Visitor Pattern의 클래스 다이어그램 예시


소스보기



Advanced

* 더블 디스패치(double dispatch)

* 처리를 데이터 구조에서 분리

* OCP(Open-closed Principle)

* ConcreteVisitor 역할의 추가는 간단하다

* ConcreteElement 역할의 추가는 곤란하다