컴퓨터 공부/디자인 패턴

[7월 6일 3교시] Iterator 패턴,

려리군 2009. 7. 6. 13:08

Intent : 내부 표현방식을 공개하지 않고 순차적으로 접근할 수 있다.

다른 예시 : 커서

객체는 리스트로 표현되고 내부 표현은 모르는 채 접근한다.

순회기법을 정의한다.


Key Idea

내용을 순회하는 내용을 Iterator 객체에 정의한다. 

※ 삽입이나 삭제는 객체 자체에서 정의.


구현 Key Idea

다양한 리스트를 조작하는 데 필요한 공통의 인터페이스를 위한 List와 반복해서 접근하는 데 필요한 Iterator 클래스추상클래스로 정의.


AbstractList <- 클라이언트 접근 -> Iterator

 +-List                    ↔                   +- ListIterator

 +-SkipList              ↔                   +- SkipListIterator


Structural

Aggregate : 트리, 리스트, 맵등...