CS

이터레이터 패턴 ( Iterator Pattern )

Evan Lee ㅣ 2023. 6. 29. 02:23

 

이터레이터 패턴이란 ? 

 

이터레이터를 사용하여 컬렉션의 요소들에 접근하는 디자인 패턴이다. 배열이나 컬렉션과 같은 집합 객체의 요소들에 순차적으로 접근할 수 있는 방법을 제공하면서도 객체의 내부 구조를 노출시키지 않습니다.

 

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