最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

設(shè)計模式:迭代器模式

2021-07-13 00:17 作者:做架構(gòu)師不做框架師  | 我要投稿

什么是迭代器模式?

迭代器模式(英文:Iterator Pattern),提供一種方法順序訪問一個容器對象的各個元素,而又無需暴露該對象的內(nèi)部表示。

一句話歸納

流水線上坐一天,每個包裹掃一遍。

代碼示例

java從1.2的版本中開始,就新增了一個java.util.Iterator<E>的接口,并且把Iterator應(yīng)用到Collection接口中。在15的版本中引入了一個java.lang.Iterable<T>接口,有很多容器接口實現(xiàn)它,比如:List<E>、Set<E>、TreeSet<E>、Queue<E>等等,又有多少個容器類實現(xiàn)它,比如:ArrayList<E>、ArrayBlockingQueue<E>、CopyOnWriteArrayList<E>等等。迭代器模式已經(jīng)融入到j(luò)ava當中了,讓我們可以使用的如此輕松、方便。


在程序設(shè)計中,經(jīng)常要訪問一個聚合對象中的各個元素,如“數(shù)據(jù)結(jié)構(gòu)”中的鏈表遍歷,通常的做法是將鏈表的創(chuàng)建和遍歷都放在同一個類中,但這種方式不利于程序的擴展,如果要更換遍歷方法就必須修改程序源代碼,這違背了 “開閉原則”。既然將遍歷方法封裝在聚合類中不可取,那么聚合類中不提供遍歷方法,將遍歷方法由用戶自己實現(xiàn)是否可行呢?答案是同樣不可取,因為會存在兩個缺點:暴露了聚合類的內(nèi)部表示,使其數(shù)據(jù)不安全;增加了客戶的負擔。“迭代器模式”能較好地克服以上缺點,它在客戶訪問類與聚合類之間插入一個迭代器,這分離了聚合對象與其遍歷行為,對客戶也隱藏了其內(nèi)部細節(jié),且滿足“單一職責原則”和“開閉原則”.

寫在最后

好兄弟可以點贊并關(guān)注我的公眾號“javaAnswer”,全部都是干貨。


設(shè)計模式:迭代器模式的評論 (共 條)

分享到微博請遵守國家法律
通海县| 南江县| 阜新| 南康市| 榕江县| 榆林市| 千阳县| 留坝县| 张家界市| 永宁县| 获嘉县| 沛县| 东平县| 河北省| 白城市| 永昌县| 博罗县| 大石桥市| 中宁县| 龙州县| 永清县| 罗定市| 海城市| 乐昌市| 双江| 当阳市| 应用必备| 远安县| 平舆县| 新乐市| 旌德县| 广饶县| 杭锦后旗| 广元市| 凌海市| 社旗县| 仁怀市| 女性| 科尔| 阳高县| 文成县|