캡슐화를 유지하고 데이터의 구조가 외부에 노출되지 않게 보호하면서 컬렉션의 원소들을 순차적으로 접근할 수 있는 해법을 제공한다. 이터레이터 패턴은 순환 과정에 대한 책임을 새로운 객체에 위임해 컬렉션 클래스를 매우 심플하게 유지하고 컬렉션을 동시에 여러 번 순환할 수 있는 것을 목표로 한다.
구성
Iterator Interface : 컬렉션 데이터를 순환하는 인터페이스
Concrete Iterator : 이터페이터 인터페이스의 구현
Collection Interface : 어떻게 순환 과정을 제공할 것인가에 대한 인터페이스
Concrete Collection : 컬렉션 인터페이스의 구현
이터레이터 패턴은 단순하지만 매우 유용하다. 사실, 패턴의 단순함이 유용하게 만들어준 것이다.
패턴은 컬렉션으로부터 데이터에 접근하는 방법을 표준화하기 때문에 특별한 구현 대신 IIterator 인터페이스로 상호작용하는 인터페이스를 만들 수 있다. 이것은 코드가 좀 더 유연하고 융통성있게 된다는 의미다.






IteratorPattern.fxp
댓글을 달아 주세요