中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

做色情網(wǎng)站需要多少錢企業(yè)網(wǎng)站建設(shè)案例

做色情網(wǎng)站需要多少錢,企業(yè)網(wǎng)站建設(shè)案例,wordpress登錄下載附件,大同市人民政府門戶網(wǎng)官網(wǎng)一、說明 迭代器模式是一種行為設(shè)計模式,讓你能在不暴露集合底層表現(xiàn)形式(列表、棧和樹等)的情況下遍歷集合中所有的元素。 (一) 解決問題 遍歷聚合對象中的元素,而不需要暴露該對象的內(nèi)部表示 (二) 使用場景 需要對聚合對象…

一、說明

迭代器模式是一種行為設(shè)計模式,讓你能在不暴露集合底層表現(xiàn)形式(列表、棧和樹等)的情況下遍歷集合中所有的元素。

(一) 解決問題

遍歷聚合對象中的元素,而不需要暴露該對象的內(nèi)部表示

(二) 使用場景

  • 需要對聚合對象中元素進行遍歷,并且不想暴露其內(nèi)部結(jié)構(gòu)
  • 減少程序中重復(fù)的遍歷代碼時
  • 能夠遍歷不同的甚至是無法預(yù)知的數(shù)據(jù)結(jié)構(gòu)時

二、結(jié)構(gòu)

  1. 迭代器(Iterator)接口聲明了遍歷集合所需的操作:獲取下一個元素、獲取當前位置和重新開始迭代等。
  2. 具體迭代器(ConcreteIterators)實現(xiàn)遍歷集合的一種特定算法。迭代器對象必須跟蹤自身遍歷的進度。這使得多個迭代器可以相互獨立地遍歷同一集合。
  3. 集合(Collection)接口聲明一個或多個方法來獲取與集合兼容的迭代器。請注意,返回方法的類型必須被聲明為迭代器接口,因此具體集合可以返回各種不同種類的迭代器。
  4. 具體集合(ConcreteCollections)會在客戶端請求迭代器時返回一個特定的具體迭代器類實體。你可能會琢磨,剩下的集合代碼在什么地方呢?不用擔(dān)心,它也會在同一個類中。只是這些細節(jié)對于實際模式來說并不重要,所以我們將其省略了而已。
  5. 客戶端(Client)通過集合和迭代器的接口與兩者進行交互。這樣一來客戶端無需與具體類進行耦合,允許同一客戶端代碼使用各種不同的集合和迭代器??蛻舳送ǔ2粫孕袆?chuàng)建迭代器,而是會從集合中獲取。但在特定情況下,客戶端可以直接創(chuàng)建一個迭代器(例如當客戶端需要自定義特殊迭代器時)。

三、偽代碼

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
__doc__ = """
迭代器模式例:迭代樹結(jié)構(gòu)對象
"""from collections.abc import Iterable, Iteratorclass TreeNode:"""樹節(jié)點類"""def __init__(self, value):self.value = valueself.children = []def add_child(self, child):self.children.append(child)def __str__(self, level=0):indent = " " * levelresult = f"{indent}{self.value}\n"for child in self.children:result += child.__str__(level + 4)return resultclass Tree(Iterable):"""聚合對象"""def __init__(self, root):self.root = rootdef __iter__(self) -> Iterator:return TreeIterator(self.root)class TreeIterator(Iterator):"""迭代器"""def __init__(self, node):self.stack = [node]def __next__(self):if not self.stack:raise StopIterationnode = self.stack.pop()self.stack.extend(reversed(node.children))return node.valueif __name__ == "__main__":"""ABDECF"""# 構(gòu)建樹形結(jié)構(gòu)root = TreeNode("A")b = TreeNode("B")c = TreeNode("C")d = TreeNode("D")e = TreeNode("E")f = TreeNode("F")root.add_child(b)root.add_child(c)b.add_child(d)b.add_child(e)c.add_child(f)# 遍歷樹形結(jié)構(gòu)tree = Tree(root)for value in tree:print(value)

四、優(yōu)缺點

優(yōu)點

  • 簡化了聚合對象的接口:迭代器模式將遍歷集合元素的責(zé)任分離出來,使得聚合對象和迭代器對象的職責(zé)更加清晰,聚合對象只需提供迭代器而無需關(guān)注遍歷邏輯。
  • 隱藏了集合的內(nèi)部結(jié)構(gòu):迭代器模式封裝了集合的內(nèi)部實現(xiàn)細節(jié),使得客戶端可以透明地訪問集合元素,而不必關(guān)心集合的具體實現(xiàn)方式。

缺點

  • 不適合過于簡單的集合:對于結(jié)構(gòu)簡單、元素數(shù)量少的集合,不如直接遍歷集合來得簡單直接。

【Python筆記】設(shè)計模式-CSDN博客

http://m.risenshineclean.com/news/62866.html

相關(guān)文章:

  • 成交型網(wǎng)站建設(shè)app營銷策略
  • 電子商務(wù)網(wǎng)站的作用有哪些泰安網(wǎng)站優(yōu)化公司
  • 網(wǎng)站中插入視頻代碼佛山疫情最新消息
  • 做b2b專業(yè)網(wǎng)站一般有效果嗎怎么給客戶推廣自己的產(chǎn)品
  • 深圳快速網(wǎng)站制作如何利用互聯(lián)網(wǎng)宣傳與推廣
  • 無錫做網(wǎng)站選優(yōu)易信定制網(wǎng)站建設(shè)電話
  • 網(wǎng)站建設(shè)與管理讀書心得推廣品牌的方法
  • 注冊網(wǎng)站域名需要什么資料醫(yī)療器械排名優(yōu)化seo
  • 制作網(wǎng)站 優(yōu)幫云網(wǎng)絡(luò)營銷專業(yè)學(xué)什么
  • 滄浪網(wǎng)站建設(shè)方案今日軍事新聞最新消息新聞報道
  • 江西建設(shè)銀行招聘網(wǎng)站加強服務(wù)保障滿足群眾急需i
  • 鄭州制作網(wǎng)站公司寧波網(wǎng)站關(guān)鍵詞優(yōu)化排名
  • 做視頻后期的網(wǎng)站推廣app接單網(wǎng)
  • wordpress手機編輯器插件下載seo專業(yè)培訓(xùn)班
  • 青島模板自助建站李勇seo的博客
  • 上海做網(wǎng)站建設(shè)的公司南京seo排名優(yōu)化
  • 公司網(wǎng)站首頁大圖怎么做深圳專業(yè)seo
  • wordpress與phpstudy安裝優(yōu)化關(guān)鍵詞有哪些方法
  • 中國建設(shè)銀行官方網(wǎng)站e路航下載網(wǎng)站查詢是否安全
  • 加盟裝修公司怎么合作谷歌推廣seo
  • 做網(wǎng)站有發(fā)票嗎站長工具whois查詢
  • 網(wǎng)站開發(fā)初學(xué)網(wǎng)絡(luò)推廣的重要性與好處
  • 東營做營銷型網(wǎng)站建設(shè)小程序推廣方案
  • 禮品網(wǎng)站模板sem推廣競價
  • 網(wǎng)站建設(shè)資質(zhì)百度app下載最新版本
  • 做相框的網(wǎng)站app優(yōu)化網(wǎng)站
  • 公司做網(wǎng)站費用和人員配備天津百度網(wǎng)絡(luò)推廣
  • 怎樣創(chuàng)建一個國際網(wǎng)站公司網(wǎng)頁怎么制作
  • 新網(wǎng)站怎么做友情鏈接色盲測試圖第六版及答案大全
  • crm銷售系統(tǒng)青島網(wǎng)站建設(shè)方案優(yōu)化