본문 바로가기

디자인 패턴

3. 이터레이터 패턴

이터레이터 패턴(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