본문 바로가기
개발/기본) 디자인패턴

디자인패턴) 이터레이터 패턴( Iterator Pattern)

by 테샤르 2020. 3. 31.

이터레이터 패턴( Iterator Pattern)

 

Iterator 패턴은 무엇인가 많이 모여 있는  것들을 순서대로 지정하면서 전체를 검색하는 처리를 실행하기 위한 디자인 패턴이다. 반복해서 처리한다는 기능이 특징이다.

 

서가(BookShelf) 안에 책(Book)을 넣고 책을 검색 하는 프로그램을 예시로 보면 UML 다음과 같다.

 

반응형

특징은 Book을 BookShelf에 등록을 하게 되고 실제 검색을 하는 과정에서는 BookShelf의 데이터에서 iterator를 통해서  hasNext가 끝날 때까지 검색에 대한 로직을 처리한다.

실제 해당 기능상으로는 반복해서 처리하는 로직이긴한데 왜 이 Iterator 패턴을 사용해야 할까? 가장 큰 이유는 iterator 패턴을 사용하는 과정에서 구현을 분리가 되기 때문이다. 

while(bookshelf.hasNext()){
	Book book = (Book) bookshelf.next();
	~
}

사용하는 외부에서 내부의 간섭이 없다는 것은 재사용성에 매우 유용하다. 디자인 패턴을 꼭 사용을 해야 하는 것은 아니지만 재사용과 의존성을 낮추고 독립성을 높일 수 있다는 점에서 효율적이기 때문에 필요한 경우에는 구현하는 것이 좋다.

 

 

반응형

댓글