国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

迭代器模式(Iterator)

mayaohua / 2212人閱讀

摘要:迭代器模式一迭代器模式定義提供一種方法順序訪問一個集合對象中的各種元素,而又不暴露該對象的內部表示角色抽象迭代器接口具體迭代器抽象聚合接口具體聚合二具體實現創建抽象迭代器接口創建抽象聚合接口創建具體聚合及具體迭代器調用輸出三優缺點優點簡化了

迭代器模式

一. 迭代器模式 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)屬于行為型模式的一種,提供一種方法訪問一個容器中各個元素,而又不需要暴露該對象的內部細節。 概述 迭代器模式聽起來可能感覺很陌生,但是實際上,迭代器模式是所有設計模式中最簡單也是...

    JasonZhang 評論0 收藏0
  • JavaScript 設計模式(五):迭代模式

    摘要:文章內容分兩部分前半部分為迭代器模式概念后半部分為中迭代器上半部分開始迭代器模式提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內部表示。下半部分開始的迭代器迭代器等同于遍歷器。執行該函數,會返回一個遍歷器對象。 showImg(https://segmentfault.com/img/bVbuyaZ?w=800&h=600); 文章內容分兩部分: 前半部分為 迭...

    zhou_you 評論0 收藏0
  • js設計模式--迭代模式

    摘要:文章系列設計模式單例模式設計模式策略模式設計模式代理模式概念迭代器模式是指提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內部表示。 前言 本系列文章主要根據《JavaScript設計模式與開發實踐》整理而來,其中會加入了一些自己的思考。希望對大家有所幫助。 文章系列 js設計模式--單例模式 js設計模式--策略模式 js設計模式--代理模式 概念 迭代器模式是指...

    binta 評論0 收藏0
  • 迭代模式迭代協議

    摘要:迭代器模式迭代器模式是指提供一種方法順序訪問一個聚合對象中的各個元素,而不需要暴露該對象的內部表示。可迭代協議和迭代器協議。生成器函數是可以作為迭代器工廠的函數,當它被執行時會返回一個新的對象,該對象符合可迭代協議和迭代器協議。 迭代器模式 迭代器模式是指提供一種方法順序訪問一個聚合對象中的各個元素,而不需要暴露該對象的內部表示。 迭代器分為內部迭代器和外部迭代器。內部迭代器只需一次初...

    doodlewind 評論0 收藏0
  • PHP設計模式迭代模式

    摘要:概念迭代器模式,又叫做游標模式。另外,當需要對聚集有多種方式遍歷時,可以考慮去使用迭代器模式。迭代器模式為遍歷不同的聚集結構提供如開始下一個是否結束當前哪一項等統一的接口。 概念 迭代器模式(Iterator),又叫做游標(Cursor)模式。提供一種方法順序訪問一個聚合對象中的各種元素,而又不暴露該對象的內部表示。 當你需要訪問一個聚合對象,而且不管這些對象是什么都需要遍歷的時候,就...

    陸斌 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<