행동패턴 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 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>
 
  
 
{{각주}}
 
{{각주}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)