디자인 패턴 - 이터레이터 패턴(Iterator pattern)
정의 : 컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있게 해 주는 방법을 제공하는 패턴
객체의 컬렉션에 대한 반복작업을 처리하는 방법을 캡슐화.
이터레이터 인터페이스를 정의해두고, 콜렉션에서는 이 인터페이스를 구현. 클라이언트에서는 이터레이터를 이용해 어떤 컬렉션이든 같은 방식으로 사용 가능.
HasNext ( ), MoveNext( )
이터레이터는 기본적으로 위의 두 메소드를 구현해둔다.
보통 이터레이터를 컬렉션으로부터 얻었을 때, 이터레이터는 첫 번째 항목이 아니라 그 이전을 가리키고 있다. 즉, MoveNext()를 최초 한 번 수행해서 얻는 값이 컬렉션의 첫번째 값.
예시:
SomeCollection : Itrerator
Client. main( ) { Iterator iter = SomeCollection . GetIterator( ); iter . Next( ); ]
객체의 컬렉션에 대한 반복작업을 처리하는 방법을 캡슐화.
이터레이터 인터페이스를 정의해두고, 콜렉션에서는 이 인터페이스를 구현. 클라이언트에서는 이터레이터를 이용해 어떤 컬렉션이든 같은 방식으로 사용 가능.
이터레이터는 기본적으로 위의 두 메소드를 구현해둔다.
보통 이터레이터를 컬렉션으로부터 얻었을 때, 이터레이터는 첫 번째 항목이 아니라 그 이전을 가리키고 있다. 즉, MoveNext()를 최초 한 번 수행해서 얻는 값이 컬렉션의 첫번째 값.
예시:
Client
댓글
댓글 쓰기