디자인 패턴 유형
- Creation Design Pattern
- 객체의 생성에 관련된 패턴
- 객체의 생성 로직을 숨김으로써 유연성을 향상시킨다.
- Strutural Design Pattern
- 클래스와 객체의 구성에 관련된 패턴
- Behavioral Design Pattern
- 객체와 객체 간의 통신에 관련된 패턴
[Behavioral Design Pattern] 반복자 패턴(Iterator Pattern)
객체의 내부구조가 복잡하더라도 개별 속성에 쉽게 접근하기 위한 패턴
var element;
while (element = agg.next()) {
// ...
console.log(element);
}
위의 agg 객체 구현방법은 아래와 같다.
var agg = (function() {
var index = 0,
data = [1, 2, 3, 4, 5],
length = data.length;
return {
next: function() {
var element;
if (!this.hasNext()) {
return null;
}
element = data[index];
index += 1;
return element;
},
hasNext: function() {
return index < length;
},
rewind: function() {
index = 0;
},
current: function() {
return data[index];
}
}
})
'Design Pattern > Behavioral Design' 카테고리의 다른 글
[Design Pattern] (Behavioral) 메멘토 패턴(Memento Pattern) (0) | 2023.03.27 |
---|---|
[Design Pattern] (Behavioral) 템플릿 메서드 패턴(Template Method Pattern) (0) | 2023.03.27 |
[Design Pattern] (Behavioral) 전략 패턴(Strategy Pattern) (0) | 2023.03.27 |
[Design Pattern] (Behavioral) 관찰자 패턴(Observer Pattern) (0) | 2023.03.27 |
댓글