본문 바로가기
CS/디자인패턴

[CS] 이터레이터 패턴

by Johnny's 2023. 9. 2.

이터레이터 패턴?

이터레이터패턴은 이터레이터(iterator)를 사용하여 컨테이너의 요소들에 접근하는 디자인 패턴

컨테이너란 동일한 요소들을 담아놓는 집합 → 배열, 맵 등이 있음

 

장점

각기 다른 자료구조들을 똑같은 인터페이스로 순회를 쉽게 할 수 있음
이터레이터 패턴은 컬렉션과 순회 로직을 분리함으로써 코드의 유연성, 재사용성, 유지보수성을 개선하며, 다양한 컬렉션을 일관된 방식으로 다룰 수 있는 강력한 디자인 패턴

 

js

const mp = new Map()
mp.set('a', 1);
mp.set('b', 2);
mp.set('cccc', 3);

const st = new Set()
st.add(1);
st.add(2);
st.add(3);

const a = []
for (let i = 0; i < 10; i++)a.push(i);
for (let aa of a) console.log(aa);
for (let a of mp) console.log(a);
for (let a of st) console.log(a);

/*
0
1
2
3
4
5
6
7
8
9
[ 'a', 1 ]
[ 'b', 2 ]
[ 'cccc', 3 ]
1
2
3
*/

 

 

* 참고

- CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조 -인프런

댓글