2012-12-29 42 views
-2

所以我一直都在幾部影片,瞭解這種設計模式在互聯網上的一些信息,但只是爲了把事情說清楚是正確的,這種模式是:Iterator模式

對象(主題),有它自己實現的迭代器接口

而沒有別的?沒有像觀察者模式或裝飾模式的花哨的東西或類似的東西?它只是一個已知接口的實現?!

+0

我不知道我明白你的意思。實現一個接口並不意味着一件小事;這就是挑戰所在。 – RonaldBarzell

+0

我的問題是,是否正在實現所有接口?沒有其他的? –

回答

3

簡答

是,實現該接口是所有有給它。

長的答案

說「只實現一個接口」就像是有一個想法的電影,然後「只創造了電影」。

你的界面不過是一個規範;它沒有做任何工作,它只是定義了一個簽名。絕大多數工作是在您實現接口時完成的 - 即:寫代碼。

請不要讓「實現接口」這個詞欺騙你。它可能很簡單,或者複雜得難以置信。

給你一個想法,拿這個例子。我有一個能夠承擔你的身高和體重的課程界面,並且從這個角度可以預測你未來妻子的名字。這太神奇了,不是嗎?這裏的接口:

class IPredictor { 
    public abstract void setWeight(double weight); 
    public abstract void setHeight(double height); 
    public abstract string getNameOfFutureWife(); 
}; 

現在要做到這一點,你只需要實現接口。請讓我知道你什麼時候做完了;我想知道未來巴爾澤爾夫人的名字:D

+0

我同意你確實有一點,但是如果我要向另一個人解釋什麼是迭代器模式,它會花費我的時間少於解釋他們的觀察者模式 –

+0

我會認爲相反的情況是正確的。迭代器用於遍歷集合,而觀察者維護它通知變化的依賴列表。迭代器不僅更簡單,但我認爲這個概念對於更多的人來說更直觀。 – RonaldBarzell