이터레이터 패턴이란 ?
이터레이터를 사용하여 컬렉션의 요소들에 접근하는 디자인 패턴이다. 배열이나 컬렉션과 같은 집합 객체의 요소들에 순차적으로 접근할 수 있는 방법을 제공하면서도 객체의 내부 구조를 노출시키지 않습니다.
Iterator 패턴은 컬렉션의 구체적인 구조나 구현 방식에 상관없이 일관된 방식으로 요소들을 반복할 수 있도록 해주므로 코드를 모듈화하고 유연하게 만듭니다.
자바스크립트에서는 내장된 iterator 프로토콜을 사용하여 Iterator 패턴을 구현합니다. Iterator 프로토콜은 객체가 반복 동작을 정의하는 표준적인 방법을 정의합니다. 이 프로토콜을 구현하는 객체는 Symbol.iterator라는 메소드가 제공되어야합니다.
자바스크립트 이터레이터 패턴 예시
const mp = new Map();
mp.set('a', 1);
mp.set('b', 2);
mp.set('c', 3);
const st = new Set();
st.add('a');
st.add('b');
st.add('c');
for (let a of mp ) {
console.log(a);
}
for (let a of st ) {
console.log(a);
}
다른 데이터 구조인 set과 map임에도 또같은 for a of b라는 이터레이터 프로토콜을 통해 순회하는 것을 볼 수 있음.
'CS' 카테고리의 다른 글
MVC, MVP, MVVM 패턴 (0) | 2023.07.05 |
---|---|
프록시 패턴 ( Proxy Pattern ) (0) | 2023.06.25 |
옵저버 패턴 ( Observer Pattern ) (0) | 2023.06.24 |
전략 패턴 ( Strategy pattern ) (0) | 2023.06.24 |
팩토리 패턴 ( Factory Pattern ) (0) | 2023.06.24 |