이터레이터 패턴(iterator pattern)
컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있는 방법을 제공한다.
컬렉션 객체 안에 들어있는 모든 항목에 접근하는 방식이 통일되어 있으면 어떤 종류의 집합체에 대해서도 사용할 수 있는 다형적인 코드를 만들수 있다.
이터레이터 패턴을 사용하면 모든 항목에 일일이 접근하는 작업을 컬렉션 객체가 아닌 반복자 객체에서 맡게 된다. 이렇게 하면 집합체의 인터페이스 및 구현이 간단해질 뿐 아니라, 집합체에서는 반복작업에서 손을 떼고 원래 자신이 할 일(객체 컬렉션 관리)에만 전념할 수 있다.
public class FoodMenu {
String name;
String description;
int price;
public FoodMenu(String name, String description, int price) {
this.name = name;
this.description = description;
this.price = price;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public int getPrice() {
return price;
}
}
위와 같이 메뉴가 존재한다고 가정해보자. 그리고 해당 메뉴를 가지는 음식점이 존재한다고 해보자.
'디자인 패턴' 카테고리의 다른 글
Worker Thread Pattern (0) | 2022.08.24 |
---|---|
데코레이터(Decorator) 패턴 (0) | 2022.07.31 |
4. 전략 패턴 (0) | 2022.07.14 |
2. Adapter Pattern (0) | 2022.07.08 |
1. Factory Pattern (0) | 2022.07.05 |