개발 공부/컴퓨터 과학
[개발] Behaviours Design Pattern - Visitor Pattern, Iterator Pattern
도이(doi)
2022. 5. 11. 14:04
728x90
Visitor Pattern
오브젝트가 존재하고 오브젝트를 다루는 알고리즘 클래스를 분리하는 것
알고리즘 클래스는 visitor가 되고 기존에 오브젝트에 알고리즘 클래스가 visitor로 방문해서 수행
이미 존재하는 클래스나 오브젝트에 새로운 알고리즘을 기존 오브젝트에 적용할 수 있음
고양이의 클래스 구조를 바꾸지 않고 고양이 클래스에 대한 함수들을 implement 함
*함수형 프로그래밍
모던 c++ 람다(함수형)
프로퍼티만 존재하는 오브젝트를 만들면 됨. struct / Interface를 사용하여 오브젝트를 생성.
오브젝트를 다룰 함수만 만들면 오브젝트들의 implementation을 바꾸지 않고 여러 알고리즘을 적용할 수 있음.
Iterator Pattern
여러 타입의 컨테이너들에 access를 가능하게 해주는 공통된 interface 제공
*언어별로 제공해주는 iterator interface 사용을 추천함.
728x90
반응형