迭代器模式:
提供一種方法順序訪問乙個聚合物件中的各個元素去,而又不暴露其內部的表示。
文中例子:
兩個餐廳要進行合併,選單需要遍歷,所以定義了乙個迭代器介面,然後定義了兩個繼承了該介面的迭代器,儘管由選單返回迭代器,但是選單不實現迭代器。
心得
資料有很多種儲存方法,為了讓程式設計師能更專心於當前開發,因此迭代器是個好東西。
組合模式
允許你將物件組合成樹型結果來表現整體/
部分層次結果。組合能讓使用者以一致的方式處理個別物件以及物件組合拳。
文中例子
餐廳選單中有子選單。
心得
犧牲單一責任換取透明度。
oo原則
單一原則,就是讓每個類只有乙個責任。如果有兩個改變的原因,那麼就需要對其進行修改。
設計模式 狀態模式組合模式迭代器模式
狀態模式 將物件的轉換封裝在內部組合模式 元件在內部具有特定的資料結構 使用者操作 但是不想讓得知內部的實施細節 使用者對元件的內部的物件操作 使用者操作乙個物件多型呼叫 執行時依賴 編譯是確定型別 編譯時多型 大作業的時候要求加入這個的理解 效能較好迭代器模式 獲得當前的元素 下乙個元素 開頭是否...
設計模式 迭代器和組合模式
給餐廳選單加入乙個迭代器 public inte ce iterator boolean hasnext object next public class dinermenuiterator implements iterator menuitem items int position 0 publ...
設計模式 迭代器和組合模式
另外做為迭代器,首先你要獲取資料 構造方法 你至少要有最小的執行單位,乙個是next 來獲取下乙個資料,那隨之而來就需要判斷下乙個是否存在,需要hasnext 方法,再加remove 方法。並且聚合物件要實現迭代器介面,這樣客戶端就可以針對介面程式設計,還要需要返回乙個迭代器方法,把聚合物件傳入進去...