이터레이터 패턴
- 행동 관련 디자인 패턴.
- 집합 객체 내부 구조를 노출시키지 않고 순회하는 방법을 제공하는 패턴.
- 집합 객체를 순회하는 클라이언트 코드를 변경하지 않고 다양한 순회 방법을 제공할 수 있다.
Iterator라는 인터페이스가 있고 클라이언트가 어떻게 순회할지 방법을 갖고 있다.
ConcreteIterator는 이 인터페이스를 실체화하고 구체적인 순회 로직이 들어가 있다.
이터레이터 패턴의 장점
1. 집합 객체가 가지고 있는 객체들에 손쉽게 접근할 수 있다.
클라이언트는 이터레이터가 갖고 있는 인터페이스만 알고 있으면 되고,
집합 객체가 어떠한 구조로 이루어져 있는지는 알 필요가 없다.
집합 객체가 리스트를 사용하는지 아니면 셋을 사용하는지 트리구조인지 스택구조인지 신경쓸 필요가 없다.
순회하는 방법만 따로 책임이 분리되었기에 단일 책임 원칙을 만족하는 구조로 볼 수 있다.
2. 일관된 인터페이스를 사용해 여러 형태의 집합 구조를 순회할 수 있다.
기존의 코드의 큰 변경사항 없이 집합 객체를 순회할 수 있어서 개방 폐쇄 원칙을 만족한다.
'프로그래밍 강의 메모 > 코딩으로 학습하는 GoF의 디자인 패턴_백기선' 카테고리의 다른 글
행동 관련 디자인 패턴 > 메멘토 패턴(Memento Pattern) (0) | 2022.05.26 |
---|---|
행동 관련 디자인 패턴 > 중재자 패턴(Mediator Pattern) (0) | 2022.05.26 |
행동 관련 디자인 패턴 > 인터프리터 패턴(Interpreter Pattern) (0) | 2022.05.26 |
행동 관련 디자인 패턴 > 커맨드 패턴(Command Pattern) (0) | 2022.05.26 |
행동 관련 디자인 패턴 > 책임 연쇄 패턴(Chain of Responsibility Pattern) (0) | 2022.05.26 |