国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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è)計模式:迭代器模式的評論 (共 條)

分享到微博請遵守國家法律
体育| 巴塘县| 汉川市| 吴堡县| 花莲市| 通辽市| 宝兴县| 故城县| 苍梧县| 漳浦县| 辛集市| 额济纳旗| 泰安市| 淳化县| 闵行区| 云龙县| 嘉禾县| 高密市| 灌阳县| 视频| 米泉市| 都昌县| 达州市| 冕宁县| 万州区| 昔阳县| 武乡县| 乐至县| 乌拉特前旗| 梅河口市| 通城县| 通化县| 鄂州市| 奇台县| 将乐县| 保靖县| 泽普县| 福建省| 华蓥市| 黑龙江省| 绥芬河市|