摘要:迭代器模式一迭代器模式定義提供一種方法順序訪問一個集合對象中的各種元素,而又不暴露該對象的內部表示角色抽象迭代器接口具體迭代器抽象聚合接口具體聚合二具體實現創建抽象迭代器接口創建抽象聚合接口創建具體聚合及具體迭代器調用輸出三優缺點優點簡化了
迭代器模式
一. 迭代器模式 1.1 定義提供一種方法順序訪問一個集合對象中的各種元素,而又不暴露該對象的內部表示.
1.2 角色抽象迭代器接口(Iterator).
具體迭代器(ConcreteIterator).
抽象聚合接口(Aggregate).
具體聚合(ConcreteAggregate).
二. 具體實現 1.1 創建抽象迭代器接口public interface Iterator { Object next(); boolean hasNext(); }1.2 創建抽象聚合接口
public interface Aggregate { Iterator iterator(); }1.3 創建具體聚合及具體迭代器
public class ConcreteAggregate implements Aggregate { @Override public Iterator iterator() { return new ConcreteIterator(); } private class ConcreteIterator implements Iterator { @Override public Object next() { System.out.println("ConcreteIterator next ..."); return null; } @Override public boolean hasNext() { System.out.println("ConcreteIterator hasNext ...."); return true; } } }1.4 調用
public static void main(String[] args) { Aggregate aggregate = new ConcreteAggregate(); Iterator iterator = aggregate.iterator(); if(iterator.hasNext()){ iterator.next(); } }1.5 輸出
ConcreteIterator hasNext .... ConcreteIterator next ...三. 優缺點 3.1 優點
簡化了聚合類的接口.
3.2 缺點增加新的聚合類需要增加新的具體迭代器.
四. 源碼https://github.com/Seasons20/DisignPattern.git
END
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69643.html
摘要:迭代器模式屬于行為型模式的一種,提供一種方法訪問一個容器中各個元素,而又不需要暴露該對象的內部細節。迭代器模式把在元素之間游走的責任交給迭代器,而不是聚合對象。 迭代器模式(Iterator Pattern)屬于行為型模式的一種,提供一種方法訪問一個容器中各個元素,而又不需要暴露該對象的內部細節。 概述 迭代器模式聽起來可能感覺很陌生,但是實際上,迭代器模式是所有設計模式中最簡單也是...
摘要:文章內容分兩部分前半部分為迭代器模式概念后半部分為中迭代器上半部分開始迭代器模式提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內部表示。下半部分開始的迭代器迭代器等同于遍歷器。執行該函數,會返回一個遍歷器對象。 showImg(https://segmentfault.com/img/bVbuyaZ?w=800&h=600); 文章內容分兩部分: 前半部分為 迭...
摘要:文章系列設計模式單例模式設計模式策略模式設計模式代理模式概念迭代器模式是指提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內部表示。 前言 本系列文章主要根據《JavaScript設計模式與開發實踐》整理而來,其中會加入了一些自己的思考。希望對大家有所幫助。 文章系列 js設計模式--單例模式 js設計模式--策略模式 js設計模式--代理模式 概念 迭代器模式是指...
摘要:迭代器模式迭代器模式是指提供一種方法順序訪問一個聚合對象中的各個元素,而不需要暴露該對象的內部表示。可迭代協議和迭代器協議。生成器函數是可以作為迭代器工廠的函數,當它被執行時會返回一個新的對象,該對象符合可迭代協議和迭代器協議。 迭代器模式 迭代器模式是指提供一種方法順序訪問一個聚合對象中的各個元素,而不需要暴露該對象的內部表示。 迭代器分為內部迭代器和外部迭代器。內部迭代器只需一次初...
摘要:概念迭代器模式,又叫做游標模式。另外,當需要對聚集有多種方式遍歷時,可以考慮去使用迭代器模式。迭代器模式為遍歷不同的聚集結構提供如開始下一個是否結束當前哪一項等統一的接口。 概念 迭代器模式(Iterator),又叫做游標(Cursor)模式。提供一種方法順序訪問一個聚合對象中的各種元素,而又不暴露該對象的內部表示。 當你需要訪問一個聚合對象,而且不管這些對象是什么都需要遍歷的時候,就...
閱讀 2596·2021-10-25 09:45
閱讀 1256·2021-10-14 09:43
閱讀 2311·2021-09-22 15:23
閱讀 1540·2021-09-22 14:58
閱讀 1945·2019-08-30 15:54
閱讀 3554·2019-08-30 13:00
閱讀 1367·2019-08-29 18:44
閱讀 1583·2019-08-29 16:59