경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.
편집을 되돌릴 수 있습니다.
이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 |
당신의 편집 |
92번째 줄: |
92번째 줄: |
| | | |
| === 비지터패턴 === | | === 비지터패턴 === |
− | [[비지터패턴]](visitor pattern)은 객체구조를 이루는 원소에 대해 수행할 연산을 표현한다. 방문자는 연산에 적용할 원소의 클래스를 변경하지 않고 새로운 연산을 재정의할 수 있다.<br> | + | [[비지터패턴]](visitor pattern)은 객체구조를 이루는 원소에 대해 수행할 연산을 표현한다. 방문자는 연산에 적용할 원소의 클래스를 변경하지 않고 새로운 연산을 재정의할 수 있다. |
− | [[파일:visitor_pattern.jpg]]
| |
− | * Visitor
| |
− | :방문자 클래스의 인터페이스이다.
| |
− | :visit(Element)을 공용 인터페이스로 쓴다. Element는 방문 공간이다.
| |
− | * Element
| |
− | :방문 공간 클래스의 인터페이스이다.
| |
− | :accept(Vistor)를 공용 인터페이스로 쓴다. Visitor는 방문자다.
| |
− | :내부적으로 Vistor.visit(this)를 호출한다.
| |
− | * ConcreteVisitor
| |
− | :Visitor를 구체적으로 구현한 클래스이다.
| |
− | * ConcreteElement
| |
− | :Element를 구체적으로 구현한 클래스이다.
| |
− | <ref name='visitor_pattern'>흠시,〈[https://dailyheumsi.tistory.com/216 행동 패턴, 방문자(Visitor)]〉, 2020-04-11</ref>
| |
| | | |
| {{각주}} | | {{각주}} |