티스토리 뷰

Visitor pattern 은 객체 내부에 있는 알고리즘을 분리 시키는 패턴입니다. 알고리즘을 분리시켜 놓으면 구조를 수정하지 않아도 새로운 기능(알고리즘)을 만들기 쉽기 때문입니다. 저도 공부하면서 와닿지 않는 패턴이었고, 다른 분들도 이해하기 어려운 패턴 중에 하나라고 말씀드리고 싶습니다. 


제가 살고 있는 아파트를 말씀드리면, 소독하시는 여사님, 물건을 배달해주시는 택배기사님, 술한잔 하러 놀러오는 친구들이 찾아옵니다. 이 뜬금없는 한 문장에 visitor pattern 의 핵심 내용이 들어있습니다. 아파트라는 정해진 구조(structure)에  많을 일들을 해 주시는 분(visitor)이 오셔서, 문을 열어주면(accept) 많은 일들을 할 수 있게합니다.(algorithm, operation)

오늘 저녁 새로 생긴 치킨집에 배달 시켜서 새로운 맛을 느껴봐야 겠네요.
(* 신규 visitor 생성 으로 새로운 기능 추가)





< Visitor Pattern >



그런데 과연 이 패턴을 언제 어떻게 사용해야 될까요? 

File System을 보게되면 정해진 구조(file,directory)로 이루어져 있습니다. 중요한 파일을 백업(압축)하려면 하위 디렉토리 node로 옮겨가면서 파일들을 압축해야 합니다. 뿐만 아니라 검색도 같은 방식으로 정해진 구조를 방문 후 검색이란 알고리즘만 추가하면 가능할 것 같습니다. 아래 예를 가지고 실제 코드로 구현해 보도록 하겠습니다.(진행)


< 파일 시스템에 적용된 Visitor Pattern >


'프로그래밍 > Design pattern(C++)' 카테고리의 다른 글

Strategy pattern (c++)  (0) 2017.05.05
Singleton pattern (c++)  (0) 2017.04.26
iterator (c++)  (0) 2017.04.24
Design Patterns  (0) 2017.04.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함