生活在城市,平時少不了去餐館吃飯。或是加班下班之後,難免吃上宵夜之後,才回家。
在餐館或是大排檔坐下,老闆一般都會在第一時間,給你上茶水以及菜譜(在此博文中,這是重點)。我們接過菜譜之後,都會把菜譜遍歷一遍,不放過任一美味與自己喜歡吃的佳餚。
遍歷一遍,此就是一種開發的設計模式,叫迭代器設計模式。
迭代器模式,它提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。
using還要提供乙個聚集的抽象類:system;
using
system.collections.generic;
using
system.linq;
using
system.web;
//////
summary description for iterator
///namespace
insus.net
}
using具體的迭代類:system;
using
system.collections.generic;
using
system.linq;
using
system.web;
//////
summary description for aggregate
///namespace
insus.net
}
using具體的聚集類,如菜譜:system;
using
system.collections.generic;
using
system.linq;
using
system.web;
//////
summary description for concreteiterator
///namespace
insus.net
//獲取第乙個菜譜專案名稱
public
override
object
firstitem()
//下乙個菜譜專案名稱
public
override
object
nextitem()
//瀏覽至當前的菜譜專案名稱
public
override
object
currentitem()
//是否瀏覽至菜譜結尾。如果是,返回bool真(true)值。
public
override
bool
isdone()}}
using站點執行看看:system;
using
system.collections.generic;
using
system.linq;
using
system.web;
//////
summary description for concreteaggregate
///namespace
insus.net
public
intcount
}//宣告乙個索引器
public
object
this[int
index]
set }}}
using迭代設計模式源**(.net 4.0):system;
using
system.collections.generic;
using
system.linq;
using
system.web;
using
system.web.ui;
using
system.web.ui.webcontrols;
using
insus.net;
public
partial
class
iteratordemo : system.web.ui.page}}
看菜譜點餐,迭代設計模式 Iterator
生活在城市,平時少不了去餐館吃飯。或是加班下班之後,難免吃上宵夜之後,才回家。在餐館或是大排檔坐下,老闆一般都會在第一時間,給你上茶水以及菜譜 在此博文中,這是重點 我們接過菜譜之後,都會把菜譜遍歷一遍,不放過任一美味與自己喜歡吃的佳餚。遍歷一遍,此就是一種開發的設計模式,叫迭代器設計模式。迭代器模...
點餐系統設計文件
點餐系統設計文件 軟體名稱 吃貨老爸點餐系統 開發背景 現在我準備自己做一套點餐系統,並免費發布給大家的餐館用,讓大家感受這種新潮的點餐方式。一,概述 1 做一款市場上通用的電子點餐系統,主要用於普通餐廳的點餐服務。2 軟體主要採用單機版免費,多使用者版收費的模式。3 單機版包括帶乙個移動端的點菜機...
JAVA設計模式 Iterator迭代器模式
迭代器模式 類似於for迴圈式的 段在日常開發過程中是很經常用到的,所有有了iterator模式。既然簡單的for迴圈能實現,為什麼要引入迭代器模式呢?因為iterator可以跟實現分開,單獨進行遞增。後面會詳細分析。下面通過乙個例子來看一下迭代器模式的使用。例子是乙個書架,可以往書架上放書本。為了...